<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-us" xml:lang="en-us">
<head>
  <meta charset="utf-8" />
  <meta name="generator" content="pandoc" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
  <title>tr-181-2-12-0-cwmp.xml</title>
  <style>
    code{white-space: pre-wrap;}
    span.smallcaps{font-variant: small-caps;}
    div.columns{display: flex; gap: min(4vw, 1.5em);}
    div.column{flex: auto; overflow-x: auto;}
    div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
    /* The extra [class] is a hack that increases specificity enough to
       override a similar rule in reveal.js */
    ul.task-list[class]{list-style: none;}
    ul.task-list li input[type="checkbox"] {
      font-size: inherit;
      width: 0.8em;
      margin: 0 0.8em 0.2em -1.6em;
      vertical-align: middle;
    }
  </style>
  <!-- Sidebar ToC styles -->

  <style>
  @media screen and (min-width: 60em) {
      body {
          display: flex;
          align-items: stretch;
          margin: 0px;
          /* XXX this is experimental; may need to insert zero-width spaces */
          overflow-wrap: break-word;
      }

      #main {
          flex: 4 2 auto;
          overflow: auto;
          order: 2;
          padding: 5px;
      }

      #TOC {
          position: sticky;
          order: 1;
          flex: 1 0 auto;
          margin: 0 0;
          top: 0px;
          left: 0px;
          height: 100vh;
          line-height: 1.4;
          resize: horizontal;
          font-size: larger;
          overflow: auto;
          border-right: 1px solid #73AD21;
          padding: 5px;
          max-width: 20%;
      }

      #TOC ul {
          margin: 0.35em 0;
          padding: 0 0 0 1em;
          list-style-type: none;
      }

      #TOC ul ul {
          margin: 0.25em 0;
      }

      #TOC ul ul ul {
          margin: 0.15em 0;
      }

      #TOC {
          z-index: 1;
      }
  }
  </style>

  <!-- ToC expansion and contraction script -->

  <script>
  window.addEventListener('DOMContentLoaded', function() {
      var expandables = document.getElementsByClassName('expandable');
      for (i = 0; i < expandables.length; i++) {
          expandables[i].addEventListener('click', function() {
              this.parentElement.querySelector('.collapsed').classList
                  .toggle('expanded');
              this.classList.toggle('collapsible');
          });
      }
  });
  </script>

  <!-- ToC expansion and contraction styles -->

  <style>
  .expandable {
      cursor: pointer;
      user-select: none;
      display: list-item;
      /* Circled Plus + non-breakable space */
      list-style-type: "\2295\A0";
  }

  .collapsible {
      /* Circled Minus + non-breakable space */
      list-style-type: "\2296\A0";
  }

  .collapsed {
      display: none;
  }

  .expanded {
      display: grid; /* needed by the 'order' property */
  }
  </style>

  <!-- ToC sorting script (works for object names and profile headers) -->

  <script>
  window.addEventListener('DOMContentLoaded', function() {
      /* 'A.B.' -> {prefix: '', name: 'A.B.', 'version': ''}
         '_Baseline:1' -> {prefix: '_', name: 'Baseline', version: '1'} */
      var regex = /^(?<prefix>_?)(?<name>[^:]*)(:?)(?<version>\d*)/;
      var lists = document.getElementsByClassName('ordered');
      for (var i = 0; i < lists.length; i++) {
          var items = lists[i].children;
          var temp = [];
          for (var j = 0; j < items.length; j++) {
              /* this assumes that the first child contains the text */
              temp.push([j, items[j].children[0].innerText]);
          }
          temp.sort((a, b) => {
              /* 'Notation' (which is used for profiles) must come first */
              var a1 = a[1] == 'Notation' ? ' Notation' : a[1];
              var b1 = b[1] == 'Notation' ? ' Notation' : b[1];
              var a1_groups = a1.match(regex).groups;
              var b1_groups = b1.match(regex).groups;
              var a1_tuple =  [
                  a1_groups.name.toLowerCase() + (a1_groups.prefix || '~'),
                  parseInt(a1_groups.version || 0)];
              var b1_tuple =  [
                  b1_groups.name.toLowerCase() + (b1_groups.prefix || '~'),
                  parseInt(b1_groups.version || 0)];
              return a1_tuple < b1_tuple ? -1 : a1_tuple > b1_tuple ? 1 : 0;
          });
          temp.forEach((order_text, j) => {
              var k = order_text[0];
              items[k].style.order = j;
          });
      }
  });
  </script>

  <!-- Automatic title generation (from anchor ids) script
       XXX only works for non-deprecated object parameters and doesn't
           show correct full paths; should get rid of it? -->

  <script>
  window.addEventListener('DOMContentLoaded', function() {
      var pars = document.getElementsByClassName('parameter');
      var regex = /\w\.\w+:[0-9.]+\./;
      for (var i = 0; i < pars.length; i++) {
          if (pars[i].firstElementChild && pars[i].firstElementChild.
                  firstElementChild) {
              pars[i].firstElementChild.title =
                  pars[i].firstElementChild.firstElementChild.id.
                  replace(regex, '');
          }
      }
  });
  </script>

  <!-- Automatic on-hover link generation script -->

  <script>
  window.addEventListener('DOMContentLoaded', function() {
      var hoverlink = null;

      var anchors = document.querySelectorAll('td span[id]:not(:empty)');
      for (var i = 0; i < anchors.length; i++) {
        var cell = anchors[i].parentElement;

        cell.addEventListener('mouseenter', event => {
          var target = event.target;
          var anchor = target.querySelector('span[id]:not(:empty)');

          /* derive the item type from the row's first class item,
           * which might have a leading 'deprecated-' etc. and
           * might also contain additional hyphens */
          var itemType = (target.parentElement.classList.item(0) || 'item').
              replace(/^\w+-/, '').replace(/-/g, ' ');

          if (hoverlink) {
            hoverlink.remove();
            hoverlink = null;
          }

          hoverlink = document.createElement('a');
          hoverlink.href = '#' + anchor.id;
          hoverlink.className = 'hoverlink';
          hoverlink.title = 'Permalink to this ' + itemType;
          target.appendChild(hoverlink);
        });

        cell.addEventListener('mouseleave', () => {
          if (hoverlink) {
            hoverlink.remove();
            hoverlink = null;
          }
        });
      }
  });
  </script>

  <!-- Hoverlink styles -->

  <style>
  :root {
      --hoverlink-size: 0.9em;
  }

  .hoverlink {
      text-decoration: none;
  }

  .hoverlink::after {
      position: absolute;
      display: inline-block;
      content: "";
      width: var(--hoverlink-size);
      height: var(--hoverlink-size);
      background-size: var(--hoverlink-size) var(--hoverlink-size);
      background-image: url();
  }
  </style>

  <!-- Table body expansion and contraction script -->

  <script>
  window.addEventListener('DOMContentLoaded', function() {
      var showables = document.getElementsByClassName('showable');
      for (var i = 0; i < showables.length; i++) {
          var showable = showables[i];
          showable.addEventListener('click', function() {
              this.classList.toggle('show');
          });
      }

      showables = document.getElementsByClassName('showable2');
      for (var i = 0; i < showables.length; i++) {
          var showable = showables[i];
          showable.addEventListener('click', function(event) {
              this.classList.toggle('show2');
              event.stopPropagation();
          });
      }
  });
  </script>

  <!-- Table body expansion and contraction styles -->

  <style>
  .chevron {
      color: var(--link-color);
      cursor: pointer;
  }

  .chevron::before {
      /* Single Right-Pointing Angle Quotation Mark */
      content: "\00203A ";
  }

  .chevron .click::after {
      content: " Click to show/hide...";
  }

  .hide {
      display: none;
  }

  .show tr {
      display: table-row;
  }

  .show td div, .show ul, .show ol {
      display: block;
  }

  .show td span {
      display: inline;
  }

  .show2 *.hide {
      display: none;
  }

  </style>

  <!-- Global styles (that affect the entire document) -->

  <style>
  /* light mode support */
  @media (prefers-color-scheme: light) {
    :root {
      --background-color: white;
      --foreground-color: black;
      --diff-background-color: aliceblue;
      --link-color: blue;
      --parameter-color: white;
      --object-color: #ffff99;
      --command-color: #66cdaa;
      --event-color: #66cdaa;
      --argument-container-color: silver;
      --argument-object-color: pink;
      --argument-parameter-color: #ffe4e1;
      --mountable-object-color: #b3e0ff;
      --mountpoint-object-color: #4db8ff;
      --stripe-direction: 90deg;
      --stripe-stop-point-1: 1%;
      --stripe-stop-point-2: 2%;
      --stripe-color-deprecated: #eeeeee;
      --stripe-color-obsoleted: #dddddd;
      --stripe-color-deleted: #cccccc;
    }
  }

  /* dark mode support */
  @media (prefers-color-scheme: dark) {
    :root {
      --background-color: black;
      --foreground-color: white;
      --diff-background-color: #0f0700;
      --link-color: lightblue;
      --parameter-color: black;
      --object-color: #bbbb44;
      --command-color: #56bd9a;
      --event-color: #56bd9a;
      --argument-container-color: #777777;
      --argument-object-color: #dfa0ab;
      --argument-parameter-color: #bfa4a1;
      --mountable-object-color: #b3e0ff;
      --mountpoint-object-color: #3da8ef;
      --stripe-color-deprecated: #555555;
      --stripe-color-obsoleted: #444444;
      --stripe-color-deleted: #333333;
    }
    .hoverlink {
      filter: invert(1);
    }
  }

  body, table {
      background-color: var(--background-color);
      color: var(--foreground-color);
      font-family: helvetica, arial, sans-serif;
      font-size: 9pt;
  }

  h1 {
      font-size: 14pt;
  }

  h2 {
      font-size: 12pt;
  }

  h3 {
      font-size: 10pt;
  }

  a:link, a:visited {
      color: var(--link-color);
  }

  sup {
      vertical-align: super;
  }

  table {
      text-align: left;
      vertical-align: top;
  }

  td, th {
      padding: 2px;
      text-align: left;
      vertical-align: top;
  }

  /* this is intended for hoverlinks */
  td span {
      padding-right: 2px;
  }

  table.middle-width {
      width: 60%;
  }

  table.full-width {
      width: 100%;
  }

  thead th {
      background-color: #999999;
  }

  table.partial-border {
      border-left-style: hidden;
      border-right-style: hidden;
      border-collapse: collapse;
  }

  table.partial-border th,
  table.partial-border td {
      border-style: solid;
      border-width: 1px;
      border-color: lightgray;
  }

  td > div,
  td > p {
      margin-block-start: 0;
      margin-block-end: 1em;
  }

  td > div:last-of-type,
  td > p:last-of-type {
      margin-block-end: 0;
  }

  .centered {
      text-align: center;
  }

  .inserted {
      color: blue;
  }

  .removed {
      color: red;
      text-decoration: line-through;
  }

  /* XXX this is a bad name */
  .diffs {
      background-color: var(--diff-background-color);
      opacity: 0.8;
  }

  .parameter {
      background-color: var(--parameter-color);
  }

  .deprecated-parameter {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--parameter-color),
          var(--parameter-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-parameter {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--parameter-color),
          var(--parameter-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-parameter {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--parameter-color),
          var(--parameter-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .object {
      background-color: var(--object-color);
  }

  .deprecated-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--object-color),
          var(--object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--object-color),
          var(--object-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--object-color),
          var(--object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .command {
      background-color: var(--command-color);
  }

  .deprecated-command {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--command-color),
          var(--command-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-command {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--command-color),
          var(--command-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-command {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--command-color),
          var(--command-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .event {
      background-color: var(--event-color);
  }

  .deprecated-event {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--event-color),
          var(--event-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-event {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--event-color),
          var(--event-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-event {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--event-color),
          var(--event-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .argument-container {
      background-color: var(--argument-container-color);
  }

  .deprecated-argument-container {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-container-color),
          var(--argument-container-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-argument-container {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-container-color),
          var(--argument-container-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-argument-container {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-container-color),
          var(--argument-container-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .argument-parameter {
      background-color: var(--argument-parameter-color);
  }

  .deprecated-argument-parameter {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-parameter-color),
          var(--argument-parameter-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-argument-parameter {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-parameter-color),
          var(--argument-parameter-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-argument-parameter {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-parameter-color),
          var(--argument-parameter-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .argument-object {
      background-color: var(--argument-object-color);
  }

  .deprecated-argument-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-object-color),
          var(--argument-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-argument-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-object-color),
          var(--argument-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-argument-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-object-color),
          var(--argument-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .mountable-object {
      background-color: var(--mountable-object-color);
  }

  .deprecated-mountable-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--mountable-object-color),
          var(--mountable-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-mountable-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--mountable-object-color),
          var(--mountable-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-mountable-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--mountable-object-color),
          var(--mountable-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .mountpoint-object {
      background-color: var(--mountpoint-object-color);
  }

  .deprecated-mountpoint-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--mountpoint-object-color),
          var(--mountpoint-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-mountpoint-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--mountpoint-object-color),
          var(--mountpoint-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-mountpoint-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--mountpoint-object-color),
          var(--mountpoint-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }
  </style>

  <!-- Local styles (that affect only data model tables) -->

  <style>
  /* center column 2 (Base Type) */
  .data-type-table th:nth-child(2),
  .data-type-table td:nth-child(2) {
      text-align: center;
  }

  /* center columns 3 (Write), 5 (Object Default), 6 (Version) */
  .data-model-table th:nth-child(3),
  .data-model-table td:nth-child(3),
  .data-model-table th:nth-child(5),
  .data-model-table td:nth-child(5),
  .data-model-table th:nth-child(6),
  .data-model-table td:nth-child(6)
  {
      text-align: center;
  }

  .data-model-table th,
  .data-model-table td {
      hyphenate-character: "";
  }

  /* word wrap/break column 1 (Name) */
  .data-model-table td:first-child {
      word-wrap: break-word;
      word-break: break-all;
      min-width: 27ch;
  }

  /* word wrap/break column 2 (Base Type) */
  .data-model-table td:nth-child(2) {
      word-wrap: break-word;
      word-break: break-all;
      min-width: 12ch;
  }

  /* word wrap/break column 3 (Write) */
  .data-model-table td:nth-child(3) {
      min-width: 1ch;
  }

  /* word wrap/break column 5 (Object Default) */
  .data-model-table td:nth-child(5) {
      word-wrap: break-word;
      word-break: break-all;
      min-width: 12ch;
  }

  /* word wrap/break column 6 (Version) */
  .data-model-table td:nth-child(6) {
      min-width: 6ch;
  }

  /* center column 1 (Abbreviation) */
  .profile-notation-table th:nth-child(1),
  .profile-notation-table td:nth-child(1) {
      text-align: center;
  }

  /* center column 2 (Requirement) */
  .profile-requirements-table th:nth-child(2),
  .profile-requirements-table td:nth-child(2) {
      text-align: center;
  }
  </style>

  <style>
  /* enabled if the --show option was specified (to avoid confusion between
     links and inserted text) */
  a:link, a:visited, a:hover, a:active {
      color: inherit;
  }
  </style>
</head>
<body>
<div id="main">
<table class="full-width">
<colgroup>
<col style="width: 3.0%;"></col>
<col style="width: 22.0%;"></col>
<col style="width: 50.0%;"></col>
<col style="width: 25.0%;"></col></colgroup>
<tbody>
<tr>
<td colspan="2"><a href="https://www.broadband-forum.org"><img width="100%" src="https://www.broadband-forum.org/images/logo-broadband-forum.gif" alt="Broadband Forum"></img></a></td>
<td class="centered" rowspan="1"><p></p>

<h1 id="tr-069-device212-root-object-definition-cwmp-changes" class="unnumbered unlisted">TR-069 Device:2.12 Root Object definition [CWMP] (changes)</h1>

<h1 id="tr-181-2-12-0-cwmpxml" class="unnumbered unlisted"><a href="./#tr-181-2-12-0-cwmp.xml">tr-181-2-12-0-cwmp.xml</a></h1></td>
<td rowspan="1"></td></tr>
<tr>
<td></td>
<td><h3 id="data-model-definition" class="unnumbered unlisted">DATA MODEL DEFINITION</h3></td></tr></tbody></table>

<h1 id="license">License</h1>

<p>Copyright (c) 2010-2018, Broadband Forum</p>

<p>The undersigned members have elected to grant the copyright to
their contributed material used in this software:<br/>    Copyright (c) 2017-2018 ARRIS Enterprises, LLC.</p>

<p>Redistribution and use in source and binary forms, with or
without modification, are permitted provided that the following
conditions are met:</p>

<ol>
<li>Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.</li>
<li>Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials
provided with the distribution.</li>
<li>Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products
derived from this software without specific prior written
permission.</li></ol>

<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS &ldquo;AS IS&rdquo; AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p>

<p>The above license is used as a license under copyright only.
Please reference the Forum IPR Policy for patent licensing terms
<a href="https://www.broadband-forum.org/ipr-policy">https://www.broadband-forum.org/ipr-policy</a>.</p>

<p>Any moral rights which are necessary to exercise under the above
license grant are also deemed granted under this license.</p>

<h1 id="data-types">Data Types</h1>

<p>The Parameters defined in this specification make use of a
limited subset of the default SOAP data types [<a href="#R.SOAP1.1">SOAP1.1</a>]. These data
types and the named data types used by this specification
are described below.</p>

<p>Note: A Parameter that is defined to be one of the named data
types is reported as such at the beginning of the Parameter’s
description via a reference back to the associated data type
definition (e.g. <em>[MACAddress]</em>). However, such parameters
still indicate their SOAP data types.</p>

<table class="full-width partial-border data-type-table">
<thead>
<tr>
<th>Data Type</th>
<th>Base Type</th>
<th>Description</th></tr></thead>
<tbody>
<tr>
<td><span id="T.boolean">boolean</span></td>
<td>-</td>
<td>Boolean, where the allowed values are <em>0</em> or <em>1</em> (or equivalently,
<em>true</em> or <em>false</em>).</td></tr>
<tr>
<td><span id="T.dateTime">dateTime</span></td>
<td>-</td>
<td>The subset of the ISO 8601 date-time format defined by the SOAP
<em>dateTime</em> type [<a href="#R.SOAP1.1">SOAP1.1</a>].</td></tr>
<tr>
<td><span id="T.hexBinary">hexBinary</span></td>
<td>-</td>
<td><p>Hex encoded binary.</p>

<p>A minimum and maximum allowed length can be indicated using the form
<em>hexBinary(Min:Max)</em>, where <em>Min</em> and <em>Max</em> are the minimum and
maximum length in characters before Hex Binary encoding. If either
<em>Min</em> or <em>Max</em> are missing, this indicates no limit, and if <em>Min</em>
is missing the colon can also be omitted, as in <em>hexBinary(Max)</em>.
Multiple comma-separated ranges can be specified, in which case the
length MUST be in one of the ranges.</p></td></tr>
<tr>
<td><span id="T.int">int</span></td>
<td>-</td>
<td><p>Integer in the range <em>-2147483648</em> to <em>+2147483647</em>, inclusive.</p>

<p>For some <em>int</em> types, a value range is given using the form
<em>int(Min:Max)</em> or <em>int(Min:Max step Step)</em> where the <em>Min</em> and <em>Max</em>
values are inclusive. If either <em>Min</em> or <em>Max</em> are missing,
this indicates no limit. If <em>Step</em> is missing, this indicates a
step of <em>1</em>. Multiple comma-separated ranges can be specified,
in which case the value will be in one of the ranges.</p></td></tr>
<tr>
<td><span id="T.string">string</span></td>
<td>-</td>
<td>For strings, a minimum and maximum allowed length can be indicated
using the form <em>string(Min:Max)</em>, where <em>Min</em> and <em>Max</em> are the minimum
and maximum string length in characters. If either <em>Min</em> or <em>Max</em>
are missing, this indicates no limit, and if <em>Min</em> is missing the
colon can also be omitted, as in <em>string(Max)</em>. Multiple
comma-separated ranges can be specified, in which case the string
length will be in one of the ranges.</td></tr>
<tr>
<td><span id="T.unsignedInt">unsignedInt</span></td>
<td>-</td>
<td><p>Unsigned integer in the range <em>0</em> to <em>4294967295</em>, inclusive.</p>

<p>For some <em>unsignedInt</em> types, a value range is given using the form
<em>unsignedInt(Min:Max)</em> or <em>unsigned(Min:Max step Step)</em>, where the
<em>Min</em> and <em>Max</em> values are inclusive. If either <em>Min</em> or <em>Max</em> are
missing, this indicates no limit. If <em>Step</em> is missing,
this indicates a step of <em>1</em>. Multiple comma-separated ranges can be
specified, in which case the value will be in one of the ranges.</p></td></tr>
<tr>
<td><span id="T.unsignedLong">unsignedLong</span></td>
<td>-</td>
<td><p>Unsigned long integer in the range <em>0</em> to <em>18446744073709551615</em>,
inclusive.</p>

<p>For some <em>unsignedLong</em> types, a value range is given using the form
<em>unsignedLong(Min:Max)</em> or <em>unsignedLong(Min:Max step Step)</em>, where
the <em>Min</em> and <em>Max</em> values are inclusive. If either <em>Min</em> or <em>Max</em>
are missing, this indicates no limit. If <em>Step</em> is missing,
this indicates a step of <em>1</em>. Multiple comma-separated ranges can be
specified, in which case the value will be in one of the ranges.</p></td></tr>
<tr>
<td><span id="T.Alias">Alias</span></td>
<td><a href="#T.string">string</a>(:64)</td>
<td><p>A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul></td></tr>
<tr>
<td><span id="T.DiagnosticsState">DiagnosticsState</span></td>
<td><a href="#T.string">string</a></td>
<td><p>Indicates the availability of diagnostics data. Enumeration of:</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D..None"><em>None</em></span> (READONLY)</li>
<li><span id="D..Requested"><em>Requested</em></span></li>
<li><span id="D..Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D..Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D..Error"><em>Error</em></span> (READONLY, OPTIONAL)</li></ul>

<p>If the ACS sets the value of this parameter to <a href="#D..Requested"><em>Requested</em></a>, the
CPE MUST initiate the corresponding diagnostic test. When writing, the
only allowed values are <a href="#D..Requested"><em>Requested</em></a> and <a href="#D..Canceled"><em>Canceled</em></a>. To
ensure the use of the proper test parameters (the writable parameters in
this object), the test parameters MUST be set, and any errors or
inconsistencies in the test parameters MUST be detected, either prior to
or at the same time as (in the same SetParameterValues) setting this
parameter to <a href="#D..Requested"><em>Requested</em></a>.</p>

<p>When requested, the CPE SHOULD wait until after completion of the
communication session with the ACS before starting the diagnostic test.</p>

<p>When the test is completed, the value of this parameter MUST be either
<a href="#D..Complete"><em>Complete</em></a> (if the test completed successfully), or one of the
<em>Error</em> values listed above.</p>

<p>If the value of this parameter is anything other than <a href="#D..Complete"><em>Complete</em></a>,
the values of the results parameters for this test are indeterminate.</p>

<p>When the diagnostic initiated by the ACS is completed (successfully or
not), but not if it is canceled for any reason, the CPE MUST establish a
new connection to the ACS to allow the ACS to view the results,
indicating the Event code <em>8 DIAGNOSTICS COMPLETE</em> in the Inform
message.</p>

<p>After the diagnostic is complete, the value of all result parameters (all
read-only parameters in this object) MUST be retained by the CPE until
either this diagnostic is run again, or the CPE reboots. After a reboot,
if the CPE has not retained the result parameters from the most recent
test, it MUST set the value of this parameter to <a href="#D..None"><em>None</em></a>.</p>

<p>Modifying any of the writable parameters in this object except for this
one MUST result in the value of this parameter being set to
<a href="#D..None"><em>None</em></a>.</p>

<p>While the test is in progress, modifying any of the writable parameters
in this object except for this one MUST result in the test being
terminated and the value of this parameter being set to <a href="#D..None"><em>None</em></a>.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D..Requested"><em>Requested</em></a> (and possibly modifying other writable parameters in
this object) MUST result in the test being terminated and then restarted
using the current values of the test parameters.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D..Canceled"><em>Canceled</em></a> MUST result in the test being canceled and the value of
this parameter being set to <a href="#D..None"><em>None</em></a>. If the CPE does not support
the <a href="#D..Canceled"><em>Canceled</em></a> value, it MUST return a SPV error with &ldquo;Invalid
Parameter value&rdquo; (9007) to the ACS instead.</p></td></tr>
<tr>
<td><span id="T.IPAddress">IPAddress</span></td>
<td><a href="#T.string">string</a>(:45)</td>
<td><p>IP address, i.e. IPv4 address (or IPv4 subnet mask) or IPv6 address.</p>

<p>All IPv4 addresses and subnet masks MUST be represented as strings in
IPv4 dotted-decimal notation. Here are some examples of valid IPv4
address textual representations:</p>

<ul>
<li>216.52.29.100</li>
<li>192.168.1.254</li></ul>

<p>All IPv6 addresses MUST be represented using any of the 3 standard
textual representations defined in [<a href="#R.RFC4291">RFC4291</a>] Sections 2.2.1,
2.2.2 and 2.2.3. Both lower-case and upper-case letters can be used, but
use of lower-case letters is RECOMMENDED. Here are some examples of valid
IPv6 address textual representations:</p>

<ul>
<li>1080:0:0:800:ba98:3210:11aa:12dd</li>
<li>1080::800:ba98:3210:11aa:12dd</li>
<li>0:0:0:0:0:0:13.1.68.3</li></ul>

<p>IPv6 addresses MUST NOT include zone identifiers. Zone identifiers are
discussed in [<a href="#R.RFC4007">Section 6/RFC4007</a>].</p>

<p>Unspecified or inapplicable addresses (or IPv4 subnet masks) MUST be
represented as empty strings unless otherwise specified by the parameter
definition.</p></td></tr>
<tr>
<td><span id="T.IPv4Address">IPv4Address</span></td>
<td><a href="#T.IPAddress">IPAddress</a>(:45)</td>
<td><p>IPv4 address (or subnet mask).</p>

<p>Can be any IPv4 address that is permitted by the <em>IPAddress</em> data type.</p>

<p>Possible patterns:</p>

<ul>
<li><span id="D.."><em>&lt;Empty&gt;</em></span> (an empty string)</li>
<li><span id="D..250-520-40-9010-90-9.3250-520-40-9010-90-9"><code>((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])</code></span></li></ul></td></tr>
<tr>
<td><span id="T.MACAddress">MACAddress</span></td>
<td><a href="#T.string">string</a>(:17)</td>
<td><p>All MAC addresses are represented as strings of 12 hexadecimal digits
(digits 0-9, letters A-F or a-f) displayed as six pairs of digits
separated by colons. Unspecified or inapplicable MAC addresses MUST be
represented as empty strings unless otherwise specified by the parameter
definition.</p>

<p>Possible patterns:</p>

<ul>
<li><span id="D.."><em>&lt;Empty&gt;</em></span> (an empty string)</li>
<li><span id="D..0-9A-Fa-f0-9A-Fa-f:50-9A-Fa-f0-9A-Fa-f"><code>([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])</code></span></li></ul></td></tr>
<tr>
<td><span id="T.PSMBreakPointIndexAndLevel">PSMBreakPointIndexAndLevel</span></td>
<td><a href="#T.unsignedInt">unsignedInt</a>[2:2]</td>
<td><ol>
<li>The PSM breakpoint sub-carrier index in the range [0:4095], and</li>
<li>the value of the level of the PSM at this sub-carrier expressed in <em>0.1 dBm/Hz</em> with an offset of -140 dBm/Hz.
Both values are represented as unsignedInt.
[<a href="#R.G.9964">Clause 5.2/G.9964</a>] defines limits on PSM breakpoint levels.</li></ol></td></tr>
<tr>
<td><span id="T.StatsCounter32">StatsCounter32</span></td>
<td><a href="#T.unsignedInt">unsignedInt</a></td>
<td><p>A 32-bit statistics parameter, e.g. a byte counter.</p>

<p>This data type SHOULD NOT be used for statistics parameters whose values
might become greater than the maximum value that can be represented as an
<em>unsignedInt</em> (i.e. 0xffffffff, referred to below as <em>maxval</em>).
<em>StatsCounter64</em> SHOULD be used for such parameters.</p>

<p>The value <em>maxval</em> indicates that no data is available for this
parameter. In the unlikely event that the actual value of the statistic
is <em>maxval</em>, the CPE SHOULD return <em>maxval - 1</em>.</p>

<p>The actual value of the statistic might be greater than <em>maxval</em>. Such
values SHOULD wrap around through zero.</p>

<p>The term <em>packet</em> is to be interpreted as the transmission unit
appropriate to the protocol layer in question, e.g. an IP packet or an
Ethernet frame.</p></td></tr>
<tr>
<td><span id="T.StatsCounter64">StatsCounter64</span></td>
<td><a href="#T.unsignedLong">unsignedLong</a></td>
<td><p>A 64-bit statistics parameter, e.g. a byte counter.</p>

<p>This data type SHOULD be used for all statistics parameters whose values
might become greater than the maximum value that can be represented as an
<em>unsignedInt</em>.</p>

<p>The maximum value that can be represented as an <em>unsignedLong</em> (i.e.
0xffffffffffffffff) indicates that no data is available for this
parameter.</p>

<p>The term <em>packet</em> is to be interpreted as the transmission unit
appropriate to the protocol layer in question, e.g. an IP packet or an
Ethernet frame.</p></td></tr>
<tr>
<td><span id="T.UUID">UUID</span></td>
<td><a href="#T.string">string</a>(36)</td>
<td><p>Universally Unique Identifier. See [<a href="#R.RFC4122">RFC4122</a>].</p>

<p>Possible patterns:</p>

<ul>
<li><span id="D..A-Fa-f0-98-A-Fa-f0-94-A-Fa-f0-94-A-Fa-f0-94-A-Fa-f0-912"><code>[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}</code></span></li></ul></td></tr></tbody></table>

<h1 id="references">References</h1>

<table>
<tbody>
<tr>
<td><a href="https://standards.ieee.org/getieee802/download/802.11-2007.pdf">[<span id="R.802.11-2007">802.11-2007</span>]</a></td>
<td>IEEE Std 802.11-2007, <em>Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)
Specifications</em>, IEEE, 2007.</td></tr>
<tr>
<td><a href="https://standards.ieee.org/getieee802/download/802.11-2012.pdf">[<span id="R.802.11-2012">802.11-2012</span>]</a></td>
<td>IEEE Std 802.11-2012, <em>Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)
Specifications</em>, IEEE, March 2012.</td></tr>
<tr>
<td><a href="https://www.ieee802.org/11/Reports/tgac_update.htm">[<span id="R.802.11ac-2013">802.11ac-2013</span>]</a></td>
<td>IEEE Std 802.11ac-2013, <em>Enhancements for Very High Throughput for Operation in Bands below 6
GHz</em>, IEEE, December 2013.</td></tr>
<tr>
<td><a href="https://ieeexplore.ieee.org/xpl/freeabs_all.jsp?reload=true&amp;arnumber=5307322">[<span id="R.802.11n-2009">802.11n-2009</span>]</a></td>
<td>IEEE Std 802.11n-2009, <em>Amendment 5: Enhancements for Higher Throughput</em>, IEEE, 2009.</td></tr>
<tr>
<td><a href="https://standards.ieee.org/getieee802/download/802.1AB-2009.pdf">[<span id="R.802.1AB-2009">802.1AB-2009</span>]</a></td>
<td>IEEE Std 802.1AB-2009, <em>Station and Media Access Control Connectivity Discovery</em>, IEEE, 2009.</td></tr>
<tr>
<td><a href="https://standards.ieee.org/getieee802/download/802.1ad-2005.pdf">[<span id="R.802.1ad-2005">802.1ad-2005</span>]</a></td>
<td>IEEE Std 802.1ad-2005, <em>Virtual Bridged Local Area Networks Amendment 4: Provider Bridges</em>, IEEE, May 2005.</td></tr>
<tr>
<td><a href="https://ieeexplore.ieee.org/servlet/opac?punumber=6997981">[<span id="R.802.1AX-2014">802.1AX-2014</span>]</a></td>
<td>IEEE Std 802.1AX-2014, <em>IEEE Standard for Local and metropolitan area networks - Link
Aggregation</em>, IEEE, 2014.</td></tr>
<tr>
<td><a href="https://standards.ieee.org/getieee802/download/802.1D-2004.pdf">[<span id="R.802.1D-2004">802.1D-2004</span>]</a></td>
<td>IEEE Std 802.1D-2004, <em>Media Access Control (MAC) Bridges</em>, IEEE, 2004.</td></tr>
<tr>
<td><a href="https://standards.ieee.org/getieee802/download/802.1Q-2005.pdf">[<span id="R.802.1Q-2005">802.1Q-2005</span>]</a></td>
<td>IEEE Std 802.1Q-2005, <em>Virtual Bridged Local Area Networks</em>, IEEE, 2006.</td></tr>
<tr>
<td><a href="https://standards.ieee.org/getieee802/download/802.1Q-2011.pdf">[<span id="R.802.1Q-2011">802.1Q-2011</span>]</a></td>
<td>IEEE Std 802.1Q-2011, <em>MAC Bridges and Virtual Bridge Local Area Networks</em>, IEEE, 2011.</td></tr>
<tr>
<td><a href="https://standards.ieee.org/getieee802/download/802.1X-2004.pdf">[<span id="R.802.1x-2004">802.1x-2004</span>]</a></td>
<td>IEEE Std 802.1x-2004, <em>Standards for Local and Metropolitan Area Networks: Port based Network
Access Control</em>, IEEE, 2004.</td></tr>
<tr>
<td><a href="https://ieeexplore.ieee.org/servlet/opac?punumber=7428774">[<span id="R.802.3-2015">802.3-2015</span>]</a></td>
<td>IEEE Std 802.3-2015, <em>IEEE Standard for Ethernet</em>, IEEE, 2015.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc6763">[<span id="R.DNS-SD">DNS-SD</span>]</a></td>
<td>RFC 6763, <em>DNS-Based Service Discovery</em>, IETF, 2013.</td></tr>
<tr>
<td>[<span id="R.DSLite">DSLite</span>]</td>
<td>RFC 6333, <em>Dual-Stack Lite Broadband Deployments Following IPv4 Exhaustion</em>, IETF, 2011.</td></tr>
<tr>
<td><a href="https://www.etsi.org/deliver/etsi_en/301800_301899/301893/01.08.01_60/en_301893v010801p.pdf">[<span id="R.ETSIBRAN">ETSIBRAN</span>]</a></td>
<td>ETSI EN 301 893, <em>Broadband Radio Access Networks (BRAN); 5 GHz high performance RLAN;
Harmonized EN covering the essential requirements of article 3.2 of the
RTTE Directive</em>, ETSI.</td></tr>
<tr>
<td><a href="https://docbox.etsi.org/M2M/Open/Latest_Drafts/00002ed121v116.pdf">[<span id="R.ETSIM2MFA">ETSIM2MFA</span>]</a></td>
<td>ETSI TS 102 690 v1.1.6, <em>Machine-to-Machine Communications (M2M Functional Architecture)</em>, ETSI, June 2012.</td></tr>
<tr>
<td><a href="https://www.itu.int/rec/T-REC-G.993.1">[<span id="R.G.993.1">G.993.1</span>]</a></td>
<td>G.993.1, <em>Very high speed digital subscriber line transceivers</em>, ITU-T.</td></tr>
<tr>
<td><a href="https://www.itu.int/rec/T-REC-G.993.2">[<span id="R.G.993.2">G.993.2</span>]</a></td>
<td>G.993.2, <em>Very high speed digital subscriber line transceivers 2 (VDSL2)</em>, ITU-T.</td></tr>
<tr>
<td><a href="https://www.itu.int/rec/T-REC-G.9954/en">[<span id="R.G.9954">G.9954</span>]</a></td>
<td>G.9954, <em>Phoneline networking transceivers - Enhanced physical, media access,
and link layer specifications (HPNA 3.0 and 3.1)</em>, ITU-T, 2007.</td></tr>
<tr>
<td><a href="https://www.itu.int/rec/T-REC-G.9960-201006-P">[<span id="R.G.9960">G.9960</span>]</a></td>
<td>G.9960, <em>Unified high-speed wire-line based home networking transceivers -
System architecture and physical layer specification</em>, ITU-T.</td></tr>
<tr>
<td><a href="https://www.itu.int/rec/T-REC-G.9961-201006-P">[<span id="R.G.9961">G.9961</span>]</a></td>
<td>G.9961, <em>Unified high-speed wire-line based home networking transceivers - Data
link layer specification</em>, ITU-T.</td></tr>
<tr>
<td><a href="https://www.itu.int/rec/T-REC-G.9962-201308-P">[<span id="R.G.9964">G.9964</span>]</a></td>
<td>G.9964, <em>Unified high-speed wire-line based home networking transceivers - Power
spectral density specification</em>, ITU-T.</td></tr>
<tr>
<td><a href="https://www.itu.int/rec/T-REC-G.997.1">[<span id="R.G.997.1">G.997.1</span>]</a></td>
<td>G.997.1, <em>Physical layer management for digital subscriber line (DSL)
transceivers</em>, ITU-T.</td></tr>
<tr>
<td><a href="https://www.itu.int/rec/T-REC-G.9973-201110-I/en">[<span id="R.G.9973">G.9973</span>]</a></td>
<td>G.9973, <em>Protocol for identifying home network topology</em>, ITU-T, 2011.</td></tr>
<tr>
<td><a href="https://en.wikipedia.org/wiki/HomePlug">[<span id="R.HPAV1.1">HPAV1.1</span>]</a></td>
<td>HomePlug™ AV Specification, <em>Version 1.1</em>, HomePlug Alliance, 2007.</td></tr>
<tr>
<td><a href="https://www.iana.org/assignments/uri-schemes">[<span id="R.IANA-uri-schemes">IANA-uri-schemes</span>]</a></td>
<td>IANA Uniform Resource Identifier (URI) Schemes Registry, <em>Uniform Resource Identifier (URI) Schemes</em>, IANA.</td></tr>
<tr>
<td><a href="https://www.IEEE.org">[<span id="R.IEEE1905.1a">IEEE1905.1a</span>]</a></td>
<td>IEEE 1905.1a, <em>IEEE Std 1905.1a, Convergent Digital Home Network for Heterogeneous
Technologies Amendment 1: Support of new MAC/PHYs and enhancements,
IEEE, December 2014.</em>, IEEE, December 2014.</td></tr>
<tr>
<td><a href="https://standards.ieee.org/regauth/oui/tutorials/EUI64.html">[<span id="R.IEEE_EUI64">IEEE_EUI64</span>]</a></td>
<td>Guidelines for 64-bit Global Identifier (EUI-64) Registration Authority, <em>Guidelines for 64-bit Global Identifier (EUI-64) Registration Authority</em>, IEEE, March 1997.</td></tr>
<tr>
<td><a href="https://www.tmforum.org/ipdr/">[<span id="R.IPDR-SP">IPDR-SP</span>]</a></td>
<td>IPDR Streaming Protocol, <em>IPDR Streaming Protocol (IPDR/SP) Specification</em>, TM Forum.</td></tr>
<tr>
<td><a href="https://www.ttc.or.jp/application/files/1115/5443/0461/JJ-300.00Ev3.pdf">[<span id="R.JJ-300.00">JJ-300.00</span>]</a></td>
<td>JJ-300.00, <em>Home-network Topology Identifying Protocol</em>, TTC, 2011.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc8193">[<span id="R.LMAPIFM">LMAPIFM</span>]</a></td>
<td>RFC 8193, <em>Information Model for Large-Scale Measurement Platforms (LMAPs)</em>, IETF, August 2017.</td></tr>
<tr>
<td><a href="https://datatracker.ietf.org/doc/html/draft-ietf-ippm-metric-registry">[<span id="R.LMAPREG">LMAPREG</span>]</a></td>
<td>draft-ietf-ippm-metric-registry-12, <em>Registry for Performance Metrics</em>, IETF, June 30, 2017.</td></tr>
<tr>
<td><a href="https://www.mocalliance.org">[<span id="R.MoCAv1.0">MoCAv1.0</span>]</a></td>
<td>MoCA v1.0, <em>MoCA MAC/PHY Specification v1.0</em>, MoCA Alliance, 2009.</td></tr>
<tr>
<td><a href="https://www.mocalliance.org">[<span id="R.MoCAv1.1">MoCAv1.1</span>]</a></td>
<td>MoCA v1.1, <em>MoCA MAC/PHY Specification v1.1 Extensions</em>, MoCA Alliance, 2009.</td></tr>
<tr>
<td><a href="https://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html">[<span id="R.MQTT31">MQTT31</span>]</a></td>
<td>MQTT v3.1, <em>MQ Telemetry Transport (MQTT) V3.1 Protocol Specification</em>, 2010.</td></tr>
<tr>
<td><a href="https://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html">[<span id="R.MQTT311">MQTT311</span>]</a></td>
<td>MQTT Version 3.1.1, <em>MQTT v3.1.1</em>, OASIS Message Queuing Telemetry Transport (MQTT) TC, October 2014.</td></tr>
<tr>
<td><a href="https://standards.ieee.org/faqs/regauth">[<span id="R.OUI">OUI</span>]</a></td>
<td>Organizationally Unique Identifiers (OUIs).</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc1332">[<span id="R.RFC1332">RFC1332</span>]</a></td>
<td>RFC 1332, <em>The PPP Internet Protocol Control Protocol (IPCP)</em>, IETF, 1992.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc1661">[<span id="R.RFC1661">RFC1661</span>]</a></td>
<td>RFC 1661, <em>The Point-to-Point Protocol (PPP)</em>, IETF, 1994.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc1877">[<span id="R.RFC1877">RFC1877</span>]</a></td>
<td>RFC 1877, <em>PPP Internet Protocol Control Protocol Extensions for Name Server
Addresses</em>, IETF, 1995.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc2131">[<span id="R.RFC2131">RFC2131</span>]</a></td>
<td>RFC 2131, <em>Dynamic Host Configuration Protocol</em>, IETF.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc2616">[<span id="R.RFC2616">RFC2616</span>]</a></td>
<td>RFC 2616, <em>Hypertext Transfer Protocol - HTTP/1.1</em>, IETF, 1999.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc2784">[<span id="R.RFC2784">RFC2784</span>]</a></td>
<td>RFC 2784, <em>Generic Routing Encapsulation (GRE)</em>, IETF, November 2000.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc2863">[<span id="R.RFC2863">RFC2863</span>]</a></td>
<td>RFC 2863, <em>The Interfaces Group MIB</em>, IETF, 2000.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc2890">[<span id="R.RFC2890">RFC2890</span>]</a></td>
<td>RFC 2890, <em>Key and Sequence Number Extensions to GRE</em>, IETF, November 2000.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc3315">[<span id="R.RFC3315">RFC3315</span>]</a></td>
<td>RFC 3315, <em>Dynamic Host Configuration Protocol for IPv6 (DHCPv6)</em>, IETF, 2003.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc3339">[<span id="R.RFC3339">RFC3339</span>]</a></td>
<td>RFC 3339, <em>Date and Time on the Internet: Timestamps</em>, IETF, July, 2002.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc3633">[<span id="R.RFC3633">RFC3633</span>]</a></td>
<td>RFC 3633, <em>IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP)
version 6</em>, IETF, 2003.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc3931">[<span id="R.RFC3931">RFC3931</span>]</a></td>
<td>RFC 3931, <em>Layer Two Tunneling Protocol - Version 3 (L2TPv3)</em>, IETF, March 2005.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc3986">[<span id="R.RFC3986">RFC3986</span>]</a></td>
<td>RFC 3986, <em>Uniform Resource Identifier (URI): Generic Syntax</em>, IETF.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc4007">[<span id="R.RFC4007">RFC4007</span>]</a></td>
<td>RFC 4007, <em>IPv6 Scoped Address Architecture</em>, IETF.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc4122">[<span id="R.RFC4122">RFC4122</span>]</a></td>
<td>RFC 4122, <em>A Universally Unique IDentifier (UUID) URN Namespace</em>, IETF, 2005.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc4193">[<span id="R.RFC4193">RFC4193</span>]</a></td>
<td>RFC 4193, <em>Unique Local IPv6 Unicast Addresses</em>, IETF, 2005.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc4291">[<span id="R.RFC4291">RFC4291</span>]</a></td>
<td>RFC 4291, <em>IP Version 6 Addressing Architecture</em>, IETF, 2006.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc4292">[<span id="R.RFC4292">RFC4292</span>]</a></td>
<td>RFC 4292, <em>IP Forwarding Table MIB</em>, IETF, 2006.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc4293">[<span id="R.RFC4293">RFC4293</span>]</a></td>
<td>RFC 4293, <em>Management Information Base for the Internet Protocol (IP)</em>, IETF, 2006.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc4301">[<span id="R.RFC4301">RFC4301</span>]</a></td>
<td>RFC 4301, <em>Security Architecture for the Internet Protocol</em>, IETF, December 2005.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc4302">[<span id="R.RFC4302">RFC4302</span>]</a></td>
<td>RFC 4302, <em>IP Authentication Header</em>, IETF, December 2005.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc4303">[<span id="R.RFC4303">RFC4303</span>]</a></td>
<td>RFC 4303, <em>IP Encapsulating Security Payload (ESP)</em>, IETF, December 2005.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc4632">[<span id="R.RFC4632">RFC4632</span>]</a></td>
<td>RFC 4632, <em>Classless Inter-domain Routing (CIDR): The Internet Address Assignment
and Aggregation Plan</em>, IETF, 2006.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc4719">[<span id="R.RFC4719">RFC4719</span>]</a></td>
<td>RFC 4719, <em>Transport of Ethernet Frames over Layer 2 Tunneling Protocol Version 3
(L2TPv3)</em>, IETF, November 2006.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc4861">[<span id="R.RFC4861">RFC4861</span>]</a></td>
<td>RFC 4861, <em>Neighbor Discovery for IP version 6 (IPv6)</em>, IETF, 2007.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc4862">[<span id="R.RFC4862">RFC4862</span>]</a></td>
<td>RFC 4862, <em>IPv6 Stateless Address Autoconfiguration</em>, IETF, 2007.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc5625">[<span id="R.RFC5625">RFC5625</span>]</a></td>
<td>RFC 5625, <em>DNS Proxy Implementation Guidelines</em>, IETF, 2009.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc5969">[<span id="R.RFC5969">RFC5969</span>]</a></td>
<td>RFC 5969, <em>IPv6 Rapid Deployment on IPv4 Infrastructures (6rd) - Protocol
Specification</em>, IETF, 2010.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc5996">[<span id="R.RFC5996">RFC5996</span>]</a></td>
<td>RFC 5996, <em>Internet Key Exchange Protocol Version 2 (IKEv2)</em>, IETF, September 2010.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc6106">[<span id="R.RFC6106">RFC6106</span>]</a></td>
<td>RFC 6106, <em>IPv6 Router Advertisement Option for DNS Configuration</em>, IETF, 2010.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc7159">[<span id="R.RFC7159">RFC7159</span>]</a></td>
<td>RFC7159, <em>The JavaScript Object Notation (JSON) Data Interchange Format</em>, IETF, March 2014.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc7230">[<span id="R.RFC7230">RFC7230</span>]</a></td>
<td>RFC 7230, <em>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</em>, IETF, June 2014.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc7252">[<span id="R.RFC7252">RFC7252</span>]</a></td>
<td>RFC 7252, <em>The Constrained Application Protocol (CoAP)</em>, IETF, June 2014.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc7348">[<span id="R.RFC7348">RFC7348</span>]</a></td>
<td>RFC 7348, <em>Virtual eXtensible Local Area Network (VXLAN)</em>, IETF, August 2014.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc7395">[<span id="R.RFC7395">RFC7395</span>]</a></td>
<td>RFC 7395, <em>An Extensible Messaging and Presence Protocol (XMPP) Subprotocol for
WebSocket</em>, IETF, October 2014.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc7398">[<span id="R.RFC7398">RFC7398</span>]</a></td>
<td>RFC 7398, <em>A Reference Path and Measurement Points for Large-Scale Measurement of
Broadband Performance</em>, IETF, February 2015.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc7594">[<span id="R.RFC7594">RFC7594</span>]</a></td>
<td>RFC 7594, <em>A Framework for Large-Scale Measurement of Broadband Performance (LMAP)</em>, IETF, September 2015.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc7597">[<span id="R.RFC7597">RFC7597</span>]</a></td>
<td>RFC 7597, <em>Mapping of Address and Port with Encapsulation (MAP)</em>, IETF, July 2015.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc7598">[<span id="R.RFC7598">RFC7598</span>]</a></td>
<td>RFC 7598, <em>DHCPv6 Options for configuration of Softwire Address and Port Mapped
Clients</em>, IETF, July 2015.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc7599">[<span id="R.RFC7599">RFC7599</span>]</a></td>
<td>RFC 7599, <em>Mapping of Address and Port using Translation (MAP-T)</em>, IETF, July 2015.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc8141">[<span id="R.RFC8141">RFC8141</span>]</a></td>
<td>RFC 8141, <em>Uniform Resource Names (URNs)</em>, IETF, April 2017.</td></tr>
<tr>
<td><a href="https://www.w3.org/TR/2000/NOTE-SOAP-20000508">[<span id="R.SOAP1.1">SOAP1.1</span>]</a></td>
<td>Simple Object Access Protocol (SOAP) 1.1, W3C.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-069.pdf">[<span id="R.TR-069">TR-069</span>]</a></td>
<td>TR-069 Amendment 6, <em>CPE WAN Management Protocol</em>, Broadband Forum, April 2018.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-069_Amendment-4.pdf">[<span id="R.TR-069a4">TR-069a4</span>]</a></td>
<td>TR-069 Amendment 4, <em>CPE WAN Management Protocol</em>, Broadband Forum, July 2011.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-069_Amendment-5.pdf">[<span id="R.TR-069a5">TR-069a5</span>]</a></td>
<td>TR-069 Amendment 5, <em>CPE WAN Management Protocol</em>, Broadband Forum, December 2013.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-106_Amendment-2.pdf">[<span id="R.TR-106a2">TR-106a2</span>]</a></td>
<td>TR-106 Amendment 2, <em>Data Model Template for TR-069-Enabled Devices</em>, Broadband Forum, November 2008.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-106_Amendment-6.pdf">[<span id="R.TR-106a6">TR-106a6</span>]</a></td>
<td>TR-106 Amendment 6, <em>Data Model Template for TR-069-Enabled Devices</em>, Broadband Forum, July 2011.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-157.pdf">[<span id="R.TR-157">TR-157</span>]</a></td>
<td>TR-157 Amendment 10, <em>Component Objects for CWMP</em>, Broadband Forum, November 2015.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-157_Amendment-10.pdf">[<span id="R.TR-157a10">TR-157a10</span>]</a></td>
<td>TR-157 Amendment 10, <em>Component Objects for CWMP</em>, Broadband Forum, November 2015.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-159.pdf">[<span id="R.TR-159">TR-159</span>]</a></td>
<td>TR-159, <em>Management Framework for xDSL Bonding</em>, Broadband Forum, December 2008.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-181_Issue-2.pdf">[<span id="R.TR-181i2">TR-181i2</span>]</a></td>
<td>TR-181 Issue 2 Amendment 15, <em>Device Data Model</em>, Broadband Forum, January 2022.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-181_Issue-2_Amendment-2.pdf">[<span id="R.TR-181i2a2">TR-181i2a2</span>]</a></td>
<td>TR-181 Issue 2 Amendment 2, <em>Device Data Model for TR-069</em>, Broadband Forum, February 2011.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-181_Issue-2_Amendment-5.pdf">[<span id="R.TR-181i2a5">TR-181i2a5</span>]</a></td>
<td>TR-181 Issue 2 Amendment 5, <em>Device Data Model for TR-069</em>, Broadband Forum, 2012.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-181_Issue-2_Amendment-8.pdf">[<span id="R.TR-181i2a8">TR-181i2a8</span>]</a></td>
<td>TR-181 Issue 2 Amendment 8, <em>Device Data Model for TR-069</em>, Broadband Forum, September 2014.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-232.pdf">[<span id="R.TR-232">TR-232</span>]</a></td>
<td>TR-232, <em>Bulk Data Collection</em>, Broadband Forum, May 2012.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-304.pdf">[<span id="R.TR-304">TR-304</span>]</a></td>
<td>TR-304, <em>Broadband Access Service Attributes and Performance Metrics</em>, Broadband Forum, February 2015.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-390.pdf">[<span id="R.TR-390">TR-390</span>]</a></td>
<td>TR-390, <em>Performance Measurement from Customer Equipment to IP Edge</em>, Broadband Forum, May 2017.</td></tr>
<tr>
<td><a href="https://www.upaplc.org">[<span id="R.UPA-PLC">UPA-PLC</span>]</a></td>
<td>Universal Powerline Association, UPA.</td></tr>
<tr>
<td><a href="https://www.usb.org/documents">[<span id="R.USB1.0">USB1.0</span>]</a></td>
<td>USB 1.0, <em>USB 1.0 Specification</em>, USB-IF, January 1996.</td></tr>
<tr>
<td><a href="https://www.usb.org/documents">[<span id="R.USB2.0">USB2.0</span>]</a></td>
<td>USB 2.0, <em>USB 2.0 Specification</em>, USB-IF, April 2000.</td></tr>
<tr>
<td><a href="https://www.usb.org/documents">[<span id="R.USB3.0">USB3.0</span>]</a></td>
<td>USB 3.0, <em>USB 3.0 Specification</em>, USB-IF, November 2008.</td></tr>
<tr>
<td><a href="https://csa-iot.org/all-solutions/zigbee">[<span id="R.ZigBee2007">ZigBee2007</span>]</a></td>
<td>ZigBee 2007 Specification, <em>ZigBee 2007 Specification</em>, ZigBee Alliance, October 2007.</td></tr></tbody></table>

<h1 id="legend">Legend</h1>

<table class="middle-width partial-border">
<tbody>
<tr class="object">
<td>Object definition.</td></tr>
<tr class="parameter">
<td>Parameter definition.</td></tr></tbody></table>

<h1 id="device212-data-model">Device:2.12 Data Model</h1>

<p>For a given implementation of this data model, the Agent MUST
indicate support for the highest version number of any object
or parameter that it supports. For example, even if the Agent
supports only a single parameter that was introduced in version
1.4, then it will indicate support for version 1.4. The version
number associated with each object and parameter is shown in
the <strong>Version</strong> column.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Changed name = <em>Device:2.11</em> ⇒ <em>Device:2.12</em></li></ul></div>

<table class="full-width partial-border data-model-table">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Write</th>
<th>Description</th>
<th>Object Default</th>
<th>Version</th></tr></thead>
<tbody>
<tr class="object">
<td><span id="D.Device:2.Device.">Device.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The top-level object for a Device.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.L2TPv3."><em>L2TPv3.</em></a> object</li>
<li>Added <a href="#D.Device:2.Device.VXLAN."><em>VXLAN.</em></a> object</li>
<li>Added <a href="#D.Device:2.Device.BASAPM."><em>BASAPM.</em></a> object</li>
<li>Added <a href="#D.Device:2.Device.LMAP."><em>LMAP.</em></a> object</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DeviceInfo.">Device.DeviceInfo.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains general device information.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.DeviceInfo.ActiveFirmwareImage"><em>ActiveFirmwareImage</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.DeviceInfo.BootFirmwareImage"><em>BootFirmwareImage</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.DeviceInfo.FirmwareImageNumberOfEntries"><em>FirmwareImageNumberOfEntries</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.DeviceInfo.FirmwareImage."><em>FirmwareImage.{i}.</em></a> object</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DeviceInfo.SoftwareVersion">SoftwareVersion</span></td>
<td>string(:64)</td>
<td>R</td>
<td><p>A string identifying the software version currently installed in the CPE (i.e. version of the overall CPE firmware). To allow version comparisons, this element SHOULD be in the form of dot-delimited integers, where each successive integer represents a more minor category of variation. For example, <em>3.0.21</em> where the components mean: <em>Major.Minor.Build</em>.<span class="inserted"> For CPEs that support multiple firmware images, the value for this parameter MUST be the software version of the active firmware image.</span></p>

<p>This parameter MUST always be included in Inform messages.</p>

<p>Active Notification MUST always be enabled for this parameter.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.DeviceInfo.ActiveFirmwareImage">ActiveFirmwareImage</span></td>
<td>string</td>
<td>R</td>
<td>A full path reference to the row in the <a href="#D.Device:2.Device.DeviceInfo.FirmwareImage."><em>FirmwareImage</em></a> table representing the currently running firmware image.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.DeviceInfo.BootFirmwareImage">BootFirmwareImage</span></td>
<td>string</td>
<td>W</td>
<td>A full path reference to the row in the <a href="#D.Device:2.Device.DeviceInfo.FirmwareImage."><em>FirmwareImage</em></a> table of the firmware image that is to be loaded the next time the device boots.
This parameter value cannot be empty and must point to a valid and enabled <a href="#D.Device:2.Device.DeviceInfo.FirmwareImage."><em>FirmwareImage</em></a> object where the (<a href="#D.Device:2.Device.DeviceInfo.FirmwareImage.Available"><em>FirmwareImage.{i}.Available</em></a> parameter is set to &lsquo;true&rsquo;). Out of the factory, this parameter should be set to point to the firmware image the CPE will attempt to boot when first powered on.
The firmware image instance referenced by this parameter must also have an Available parameter value of &lsquo;true&rsquo;. Attempting to set this parameter to point to a non-enabled firmware image MUST result in the CPE responding with a CWMP fault (9007).
In situations where the CPE cannot boot the firmware image specified by this parameter and manages to boot a different firmware image, the CPE MUST NOT modify this value to point to the alternate firmware image that is currently active.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.DeviceInfo.FirmwareImageNumberOfEntries">FirmwareImageNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.DeviceInfo.FirmwareImage."><em>FirmwareImage</em></a> table.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.ManagementServer.">Device.ManagementServer.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains parameters relating to the CPE’s association with an ACS.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.ManagementServer.LightweightNotificationTriggerInterval"><em>LightweightNotificationTriggerInterval</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.ManagementServer.LightweightNotificationTriggerTime"><em>LightweightNotificationTriggerTime</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.ManagementServer.InstanceWildcardsSupported"><em>InstanceWildcardsSupported</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.ManagementServer.HeartbeatPolicy."><em>HeartbeatPolicy.</em></a> object</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.ManagementServer.SupportedConnReqMethods">SupportedConnReqMethods</span></td>
<td>string[]</td>
<td>R</td>
<td><p>Comma-separated list of strings. The connection request methods supported by this <a href="#D.Device:2.Device.ManagementServer."><em>ManagementServer</em></a>. Each list item is an enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.ManagementServer.SupportedConnReqMethods.HTTP"><em>HTTP</em></span> (</li></ul>

<p>The connection request method as specified in [<a href="#R.TR-069">Section 3.2.2 ACS Connection Initiation/TR-069</a>], <strong>REQUIRED</strong></p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed optional = <em>false</em></li></ul></div>

<p>)</p>

<ul>
<li><span id="D.Device:2.Device.ManagementServer.SupportedConnReqMethods.STUN"><em>STUN</em></span> (The connection request method as specified in [<a href="#R.TR-069">Annex G Connection Request via NAT Gateway/TR-069</a>], OPTIONAL)</li>
<li><span id="D.Device:2.Device.ManagementServer.SupportedConnReqMethods.XMPP"><em>XMPP</em></span> (The connection request method as specified in [<a href="#R.TR-069a5">Annex K XMPP Connection Request/TR-069a5</a>], OPTIONAL)</li></ul></td>
<td>-</td>
<td>2.7</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.ManagementServer.ConnReqAllowedJabberIDs">ConnReqAllowedJabberIDs</span></td>
<td>string(:256)[:32]()</td>
<td>W</td>
<td><p>When an XMPP Connection Request is sent to a CPE the XMPP IQ Stanza will contian a &ldquo;from&rdquo; address that contains the Jabber ID of the initiating entity.
This parameter is a Comma-separated list (up to 32 items) (length ) of strings (maximum number of characters per item 256). Each entry represents a Jabber ID, or address, that is allowed to initiate an XMPP Connection Request.
Each Jabber ID is allowed to be either a &ldquo;Full JID&rdquo; (containing a local-part, domain-part, and resource-part in the following format: &ldquo;local-part@domain-part/resource-part&rdquo;) or a &ldquo;Bare JID&rdquo; (containing a local-part and a domain-part in the following format: &ldquo;local-part@domain-part&rdquo;). &ldquo;Full JID&rdquo; entries require an exact match whereas &ldquo;Bare JID&rdquo; entries are a wildcard match and will match any Jabber ID with the same local-part and domain-part independent of the resource-part.
For example, if <em>ConnReqAllowedJabberIDs</em> contained &ldquo;ACS1@tr069.example.com, ACS2@tr-069.example.com/resource1&rdquo; then the following incoming &ldquo;from&rdquo; addresses would be <strong>allowed</strong>:</p>

<ul>
<li>&ldquo;ACS1@tr069.example.com/resource1&rdquo;</li>
<li>&ldquo;ACS1@tr069.example.com/resource2&rdquo;</li>
<li>&ldquo;ACS2@tr069.example.com/resource1&rdquo;
And the following incoming &ldquo;from&rdquo; addresses <strong>would not be allowed</strong>:</li>
<li>&ldquo;ACS2@tr069.example.com/resource2&rdquo;</li>
<li>&ldquo;ACS@tr069.example.com/resource&rdquo;
If this Parameter is an empty string then all Jabber IDs are allowed and an XMPP Connection Request can not be deemed invalid due to the &ldquo;from&rdquo; address.</li></ul>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:32</a></em> list size</li></ul></div></td>
<td>-</td>
<td>2.7</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.ManagementServer.LightweightNotificationTriggerInterval">LightweightNotificationTriggerInterval</span></td>
<td>unsignedInt(0:)</td>
<td>W</td>
<td>The duration in <em>seconds</em> of the interval for which the CPE MUST attempt to deliver any pending Passive Lightweight Notifications.
A value of 0 means that the trigger interval is effectively disabled. In this case pending Passive Lightweight Notifications are only sent when triggered by an Active Lightweight Notification.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.ManagementServer.LightweightNotificationTriggerTime">LightweightNotificationTriggerTime</span></td>
<td>dateTime</td>
<td>W</td>
<td>An absolute time reference in UTC to determine when the CPE will initiate the Lightweight Notification (in the case that there are pending Passive Lightweight Notifications that need to be delivered). Each Passive Lightweight Notification (that is waiting for the Lightweight Notification Trigger mechanism for delivery) MUST occur at this reference time plus or minus an integer multiple of the <a href="#D.Device:2.Device.ManagementServer.LightweightNotificationTriggerInterval"><em>LightweightNotificationTriggerInterval</em></a>. <em>LightweightNotificationTriggerTime</em> is used only to set the <em>phase</em> of the Passive Lightweight Notification. The actual value of <em>LightweightNotificationTriggerTime</em> can be arbitrarily far into the past or future.
For example, if <a href="#D.Device:2.Device.ManagementServer.LightweightNotificationTriggerInterval"><em>LightweightNotificationTriggerInterval</em></a> is 86400 (a day) and if <em>LightweightNotificationTriggerTime</em> is set to UTC midnight on some day (in the past, present, or future) then Lightweight Notifications for pending Passive Lightweight Notifications will occur every day at UTC midnight. These MUST begin on the very next midnight, even if <em>LightweightNotificationTriggerTime</em> refers to a day in the future. The Unknown Time value defined in [<a href="#R.TR-106a2">Section 3.2/TR-106a2</a>] indicates that no particular time reference is specified. That is, the CPE MAY locally choose the time reference, and needs only to adhere to the specified <a href="#D.Device:2.Device.ManagementServer.LightweightNotificationTriggerInterval"><em>LightweightNotificationTriggerInterval</em></a>. If absolute time is not available to the CPE, its Lightweight Notifications behavior MUST be the same as if the <em>LightweightNotificationTriggerTime</em> parameter was set to the Unknown Time value.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.ManagementServer.InstanceWildcardsSupported">InstanceWildcardsSupported</span></td>
<td>boolean</td>
<td>R</td>
<td>Indicates whether or not instance wildcards are supported.
A <em>true</em> value indicates that the CPE supports instance wildcards for GPV, GPN and GPA RPC calls, as defined in [TR-069a6].</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.ManagementServer.EmbeddedDevice.">Device.ManagementServer.EmbeddedDevice.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>Each entry in this table represents a distinct Proxied Device that utilizes the Embedded Object Mechanism [<a href="#R.TR-069a4">Annex J.1.2/TR-069a4</a>] for proxying devices.</p>

<p>At most one entry in this table can exist with the same values for both <a href="#D.Device:2.Device.ManagementServer.EmbeddedDevice.ControllerID"><em>ControllerID</em></a> and <a href="#D.Device:2.Device.ManagementServer.EmbeddedDevice.ProxiedDeviceID"><em>ProxiedDeviceID</em></a>.</p></td>
<td>-</td>
<td>2.3</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.ManagementServer.EmbeddedDevice.Host">Host</span></td>
<td>string[:32]()</td>
<td>R</td>
<td>Comma-separated list (up to 32 items) (length ) of strings. Each list item MUST be the Path Name of a row in the <a href="#D.Device:2.Device.Hosts.Host."><em>Hosts.Host.</em></a> table. If the referenced object is deleted, the corresponding item MUST be removed from the list. References the <a href="#D.Device:2.Device.Hosts.Host."><em>Hosts.Host</em></a> table entry(s), whether active or inactive, that corresponds to this proxied LAN device.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:32</a></em> list size</li></ul></div></td>
<td>-</td>
<td>2.3</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.ManagementServer.EmbeddedDevice.ProxyProtocol">ProxyProtocol</span></td>
<td>string</td>
<td>R</td>
<td><p>The protocol being used to communicate between the CPE Proxier and this Proxied Device. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.ManagementServer.EmbeddedDevice.ProxyProtocol.Z-Wave"><em>Z-Wave</em></span> (see [<a href="#R.Z-Wave">Z-Wave</a>])</li>
<li><span id="D.Device:2.Device.ManagementServer.EmbeddedDevice.ProxyProtocol.ZigBee"><em>ZigBee</em></span> (see [<a href="#R.ZigBee">ZigBee</a>])</li>
<li><span id="D.Device:2.Device.ManagementServer.EmbeddedDevice.ProxyProtocol.UPnP-DM"><em>UPnP-DM</em></span> (see [<a href="#R.UPnP-DM:1">UPnP-DM:1</a>])</li>
<li><span id="D.Device:2.Device.ManagementServer.EmbeddedDevice.ProxyProtocol.ETSI-M2M"><em>ETSI-M2M</em></span> (see [<a href="#R.ETSIM2MFA">ETSIM2MFA</a>])
Vendors can extend the enumerated values with vendor specific extensions, in which case the rules outlined in [<a href="#R.TR-106a6">Section 3.3/TR-106a6</a>] MUST be adhered to.</li></ul>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed string size</li></ul></div></td>
<td>-</td>
<td>2.3</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.ManagementServer.VirtualDevice.">Device.ManagementServer.VirtualDevice.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>Each entry in this table represents a distinct Proxied Device that utilizes the Virtual CWMP Device Mechanism [<a href="#R.TR-069a4">Annex I.1.1/TR-069a4</a>] for proxying devices.</p>

<p>At most one entry in this table can exist with the same values for all of <a href="#D.Device:2.Device.ManagementServer.VirtualDevice.ManufacturerOUI"><em>ManufacturerOUI</em></a>, <a href="#D.Device:2.Device.ManagementServer.VirtualDevice.ProductClass"><em>ProductClass</em></a> and <a href="#D.Device:2.Device.ManagementServer.VirtualDevice.SerialNumber"><em>SerialNumber</em></a>.</p></td>
<td>-</td>
<td>2.3</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.ManagementServer.VirtualDevice.Host">Host</span></td>
<td>string[:32]()</td>
<td>R</td>
<td>Comma-separated list (up to 32 items) (length ) of strings. Each list item MUST be the Path Name of a row in the <a href="#D.Device:2.Device.Hosts.Host."><em>Hosts.Host.</em></a> table. If the referenced object is deleted, the corresponding item MUST be removed from the list. References all the <a href="#D.Device:2.Device.Hosts.Host."><em>Hosts.Host</em></a> table entries, whether active or inactive, that correspond to this proxied LAN device. There can be multiple such entries if the Proxied Device has more than one network interface.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:32</a></em> list size</li></ul></div></td>
<td>-</td>
<td>2.3</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.ManagementServer.VirtualDevice.ProxyProtocol">ProxyProtocol</span></td>
<td>string</td>
<td>R</td>
<td><p>The protocol being used to communicate between the CPE Proxier and this Proxied Device. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.ManagementServer.VirtualDevice.ProxyProtocol.Z-Wave"><em>Z-Wave</em></span> (see [<a href="#R.Z-Wave">Z-Wave</a>])</li>
<li><span id="D.Device:2.Device.ManagementServer.VirtualDevice.ProxyProtocol.ZigBee"><em>ZigBee</em></span> (see [<a href="#R.ZigBee">ZigBee</a>])</li>
<li><span id="D.Device:2.Device.ManagementServer.VirtualDevice.ProxyProtocol.UPnP-DM"><em>UPnP-DM</em></span> (see [<a href="#R.UPnP-DM:1">UPnP-DM:1</a>])</li>
<li><span id="D.Device:2.Device.ManagementServer.VirtualDevice.ProxyProtocol.ETSI-M2M"><em>ETSI-M2M</em></span> (see [<a href="#R.ETSIM2MFA">ETSIM2MFA</a>])
Vendors can extend the enumerated values with vendor specific extensions, in which case the rules outlined in [<a href="#R.TR-106a6">Section 3.3/TR-106a6</a>] MUST be adhered to.</li></ul>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed string size</li></ul></div></td>
<td>-</td>
<td>2.3</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.ManagementServer.HeartbeatPolicy.">Device.ManagementServer.HeartbeatPolicy.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Parameters related to CPE behavior in order to issue a Heartbeat event to the ACS using the Inform method call.
If this object is supported then the CPE MUST support the requirements of [<a href="#R.TR-069">Annex O/TR-069</a>].</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.ManagementServer.HeartbeatPolicy.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>When <em>true</em>, Heartbeat events are enabled to be sent to the ACS based on the values of the <a href="#D.Device:2.Device.ManagementServer.HeartbeatPolicy.ReportingInterval"><em>ReportingInterval</em></a> and <a href="#D.Device:2.Device.ManagementServer.HeartbeatPolicy.InitiationTime"><em>InitiationTime</em></a> parameters.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.ManagementServer.HeartbeatPolicy.ReportingInterval">ReportingInterval</span></td>
<td>unsignedInt(30:)</td>
<td>W</td>
<td>The duration in <em>seconds</em> of the interval for which the CPE MUST attempt to connect with the ACS and call the Inform method if <a href="#D.Device:2.Device.ManagementServer.HeartbeatPolicy.Enable"><em>Enable</em></a> is <em>true</em>.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.ManagementServer.HeartbeatPolicy.InitiationTime">InitiationTime</span></td>
<td>dateTime</td>
<td>W</td>
<td>An absolute time reference in UTC to determine when the CPE will initiate the Heartbeat event Inform method calls. Each Inform call MUST occur at this reference time plus or minus an integer multiple of the <a href="#D.Device:2.Device.ManagementServer.HeartbeatPolicy.ReportingInterval"><em>ReportingInterval</em></a>.
<em>InitiationTime</em> is used only to set the <em>phase</em> of the Heartbeat event Informs. The actual value of <em>InitiationTime</em> can be arbitrarily far into the past or future.
For example, if <a href="#D.Device:2.Device.ManagementServer.HeartbeatPolicy.ReportingInterval"><em>ReportingInterval</em></a> is 60 (one minute) and if <em>InitiationTime</em> is set to UTC midnight on some day (in the past, present, or future) then Heartbeat Informs will occur every minute at the next UTC midnight. These MUST begin on the very next midnight, even if <em>InitiationTime</em> refers to a day in the future.
The Unknown Time value defined in [<a href="#R.TR-106a2">Section 3.2/TR-106a2</a>] indicates that no particular time reference is specified. The CPE MUST locally choose a random time reference.
If absolute time is not available to the CPE, its Heartbeat Inform behavior MUST be the same as if the <em>InitiationTime</em> parameter was set to the Unknown Time value.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DeviceInfo.VendorConfigFile.">Device.DeviceInfo.VendorConfigFile.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>Every instance of this object is a Vendor Configuration File, and contains parameters associated with the Vendor Configuration File.
This table of Vendor Configuration Files is for information only and does not allow the ACS to operate on these files in any way.
Whenever the CPE successfully downloads a configuration file as a result of the Download RPC with the FileType argument of <em>3 Vendor Configuration File</em>, the CPE MUST update this table.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.DeviceInfo.VendorConfigFile.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.DeviceInfo.VendorConfigFile.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DeviceInfo.VendorConfigFile.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DeviceInfo.TemperatureStatus.">Device.DeviceInfo.TemperatureStatus.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Status of the temperature of the device.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DeviceInfo.TemperatureStatus.TemperatureSensor.">Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This object represents information that the device has obtained via sampling an internal temperature sensor.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.DeviceInfo.TemperatureStatus.TemperatureSensor.Name"><em>Name</em></a>, or with a given value for <a href="#D.Device:2.Device.DeviceInfo.TemperatureStatus.TemperatureSensor.Alias"><em>Alias</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DeviceInfo.TemperatureStatus.TemperatureSensor.Reset">Reset</span></td>
<td>boolean</td>
<td>W</td>
<td>When set to <em>true</em>, resets the temperature sensor.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>boolean</em> syntax hidden = <em>true</em></li>
<li>Added <em>boolean</em> syntax command = <em>true</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DeviceInfo.VendorLogFile.">Device.DeviceInfo.VendorLogFile.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>Each table entry represents a Vendor Log File.
This table of log files is informational only and does not allow the ACS to operate on these files in any way.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.DeviceInfo.VendorLogFile.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.DeviceInfo.VendorLogFile.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.1</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DeviceInfo.VendorLogFile.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.1</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.">Device.DeviceInfo.FirmwareImage.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>Top-level object for mapping firmware images.
This is a static table – the number of object instances in this table is defined by the firmware that is currently running.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.DeviceInfo.FirmwareImage.Alias"><em>Alias</em></a>.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Name">Name</span></td>
<td>string(:64)</td>
<td>R</td>
<td>Firmware/software image name. Descriptive text of the image or filename.
The value of <em>Name</em> is an empty string if <a href="#D.Device:2.Device.DeviceInfo.FirmwareImage.Status"><em>Status</em></a> is anything other than <a href="#D.Device:2.Device.DeviceInfo.FirmwareImage.Status.Available"><em>Available</em></a>, <a href="#D.Device:2.Device.DeviceInfo.FirmwareImage.Status.InstallationFailed"><em>InstallationFailed</em></a>, or <a href="#D.Device:2.Device.DeviceInfo.FirmwareImage.Status.ActivationFailed"><em>ActivationFailed</em></a>.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Version">Version</span></td>
<td>string(:64)</td>
<td>R</td>
<td>A string identifying the version of the firmware image represented by this <a href="#D.Device:2.Device.DeviceInfo.FirmwareImage."><em>FirmwareImage</em></a>. Whenever this firmware image is active (ie, the device has booted this firmware image), the value of the <a href="#D.Device:2.Device.DeviceInfo.SoftwareVersion"><em>DeviceInfo.SoftwareVersion</em></a> parameter MUST be the same as the value contained in this parameter.
To allow version comparisons, this element SHOULD be in the form of dot-delimited integers, where each successive integer represents a more minor category of variation. For example, 3.0.21 where the components mean: <em>Major.Minor.Build</em>.
The value of <em>Version</em> is an empty string if <a href="#D.Device:2.Device.DeviceInfo.FirmwareImage.Status"><em>Status</em></a> is anything other than <a href="#D.Device:2.Device.DeviceInfo.FirmwareImage.Status.Available"><em>Available</em></a>, <a href="#D.Device:2.Device.DeviceInfo.FirmwareImage.Status.InstallationFailed"><em>InstallationFailed</em></a>, or <a href="#D.Device:2.Device.DeviceInfo.FirmwareImage.Status.ActivationFailed"><em>ActivationFailed</em></a>.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Available">Available</span></td>
<td>boolean</td>
<td>W</td>
<td>Specifies whether or not this particular firmware image can be used by the Agent. An Agent will only attempt to boot this particular firmware image if this parameter value is set to <em>true</em>.
This value MUST be set to <em>true</em> whenever a new firmware image is installed.
This value cannot be set to <em>false</em> if the firmware image is active or is referenced by the <a href="#D.Device:2.Device.DeviceInfo.BootFirmwareImage"><em>BootFirmwareImage</em></a> parameter.
Firmware image instances cannot be deleted, so a Controller MAY use this parameter to subsequently mark a particular firmware as being invalid, which will prevent the Agent from attempting to boot it.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Status">Status</span></td>
<td>string</td>
<td>R</td>
<td><p>Status of the firmware image, as determined by the Agent. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Status.NoImage"><em>NoImage</em></span> (This Firmware Image instance is empty. This value could happen on an Agent that supports multiple firmware images, but only has a single image installed)</li>
<li><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Status.Downloading"><em>Downloading</em></span> (This Firmware Image instance is being downloaded)</li>
<li><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Status.Validating"><em>Validating</em></span> (This Firmware Image instance has been downloaded, and is in the process of being validated)</li>
<li><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Status.Available"><em>Available</em></span> (This Firmware Image instance has been downloaded, validated, and installed, and is ready to be activated)</li>
<li><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Status.DownloadFailed"><em>DownloadFailed</em></span> (The Agent has attempted to download this Firmware Image instance, but ultimately failed while retrieving it from the source URL)</li>
<li><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Status.ValidationFailed"><em>ValidationFailed</em></span> (The Agent has attempted to validate a Firmware Image downloaded to this instance, but ultimately failed while validating it)</li>
<li><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Status.InstallationFailed"><em>InstallationFailed</em></span> (The Agent has attempted to install a Firmware Image downloaded and validated to this instance, but ultimately failed while installing it)</li>
<li><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.Status.ActivationFailed"><em>ActivationFailed</em></span> (The Agent has attempted to active this Firmware Image instance, but ultimately failed while being activated)</li></ul></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.DeviceInfo.FirmwareImage.BootFailureLog">BootFailureLog</span></td>
<td>string</td>
<td>R</td>
<td>If the Agent is unable to boot into this firmware image, when specified, the Agent can use this parameter to record some information as to why the boot failed.
If the Agent successfully boots into this firmware, the value of this parameter SHOULD be an empty string. When a new firmware image is installed into this object instance, this parameter MUST be cleared.
The length of this string is defined as implementation-specific by the Agent.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DeviceInfo.ProxierInfo.">Device.DeviceInfo.ProxierInfo.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Represents the associated CPE Proxier for a Proxied Device that utilizes the Virtual CWMP Device Mechanism [<a href="#R.TR-069a4">Annex J.1.1/TR-069a4</a>].</td>
<td>-</td>
<td>2.3</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DeviceInfo.ProxierInfo.ProxyProtocol">ProxyProtocol</span></td>
<td>string</td>
<td>R</td>
<td><p>The protocol being used to communicate between the CPE Proxier and this Proxied Device. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.DeviceInfo.ProxierInfo.ProxyProtocol.Z-Wave"><em>Z-Wave</em></span> (see [<a href="#R.Z-Wave">Z-Wave</a>])</li>
<li><span id="D.Device:2.Device.DeviceInfo.ProxierInfo.ProxyProtocol.ZigBee"><em>ZigBee</em></span> (see [<a href="#R.ZigBee">ZigBee</a>])</li>
<li><span id="D.Device:2.Device.DeviceInfo.ProxierInfo.ProxyProtocol.UPnP-DM"><em>UPnP-DM</em></span> (see [<a href="#R.UPnP-DM:1">UPnP-DM:1</a>])</li>
<li><span id="D.Device:2.Device.DeviceInfo.ProxierInfo.ProxyProtocol.ETSI-M2M"><em>ETSI-M2M</em></span> (see [<a href="#R.ETSIM2MFA">ETSIM2MFA</a>])
Vendors can extend the enumerated values with vendor specific extensions, in which case the rules outlined in [<a href="#R.TR-106a6">Section 3.3/TR-106a6</a>] MUST be adhered to.</li></ul>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed string size</li></ul></div></td>
<td>-</td>
<td>2.3</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.UserInterface.">Device.UserInterface.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains parameters relating to the user interface of the CPE.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.UserInterface.PasswordReset">PasswordReset</span></td>
<td>boolean</td>
<td>W</td>
<td>Present only if the CPE provides a password-protected LAN-side user interface and supports LAN-side Auto-Configuration.
When set to true, resets <a href="#D.Device:2.Device.LANConfigSecurity.ConfigPassword"><em>LANConfigSecurity.ConfigPassword</em></a> to its factory value.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>boolean</em> syntax hidden = <em>true</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DSL.">Device.DSL.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object models DSL lines, DSL channels, DSL bonding, and DSL diagnostics. The specific interface objects defined here are <a href="#D.Device:2.Device.DSL.Line."><em>Line</em></a>, <a href="#D.Device:2.Device.DSL.Channel."><em>Channel</em></a>, and <a href="#D.Device:2.Device.DSL.BondingGroup."><em>BondingGroup</em></a>. Each <a href="#D.Device:2.Device.DSL.Line."><em>Line</em></a> models a layer 1 DSL Line interface, and each <a href="#D.Device:2.Device.DSL.Channel."><em>Channel</em></a> models a layer 1 DSL Channel interface where multiple channels can run over a DSL line. In the case where bonding is configured, it is expected that <a href="#D.Device:2.Device.DSL.BondingGroup."><em>BondingGroup</em></a> is stacked above the <a href="#D.Device:2.Device.DSL.Channel."><em>Channel</em></a> instances within its group.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DSL.Line.">Device.DSL.Line.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>DSL Line table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]).
This table models physical DSL lines.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.DSL.Line.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.DSL.Line.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Line.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Line.AllowedProfiles">AllowedProfiles</span></td>
<td>string[]</td>
<td>R</td>
<td><p>Comma-separated list of strings. List items indicate which VDSL2 profiles are allowed on the line. Each list item is an enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.DSL.Line.AllowedProfiles.8a"><em>8a</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.AllowedProfiles.8b"><em>8b</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.AllowedProfiles.8c"><em>8c</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.AllowedProfiles.8d"><em>8d</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.AllowedProfiles.12a"><em>12a</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.AllowedProfiles.12b"><em>12b</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.AllowedProfiles.17a"><em>17a</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.AllowedProfiles.17b"><em>17b</em></span> (</li></ul>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added status = <em>deleted</em></li></ul></div>

<p>, DELETED)</p>

<ul>
<li><span id="D.Device:2.Device.DSL.Line.AllowedProfiles.30a"><em>30a</em></span></li>
<li><span id="D.Device:2.Device.DSL.Line.AllowedProfiles.35b"><em>35b</em></span>
Note: In G.997.1, this parameter is called PROFILES. See ITU-T Recommendation [<a href="#R.G.997.1">G.997.1</a>].
Note: This parameter is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is implemented but no value is available, its value MUST be an empty string.</li></ul>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added string <em>35b</em> enumeration</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Line.UpstreamAttenuation">UpstreamAttenuation</span></td>
<td>int</td>
<td>R</td>
<td><p>The current upstream signal loss (expressed in <em>0.1dB</em>).<span class="inserted"> Doesn’t apply to VDSL2 [<a href="#R.G.993.2">G.993.2</a>]. Otherwise has the same value as the single element of <a href="#D.Device:2.Device.DSL.Line.TestParams.SATNus"><em>TestParams.SATNus</em></a>.</span></p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Line.DownstreamAttenuation">DownstreamAttenuation</span></td>
<td>int</td>
<td>R</td>
<td><p>The current downstream signal loss (expressed in <em>0.1dB</em>).<span class="inserted"> Doesn’t apply to VDSL2 [<a href="#R.G.993.2">G.993.2</a>]. Otherwise has the same value as the single element of <a href="#D.Device:2.Device.DSL.Line.TestParams.SATNds"><em>TestParams.SATNds</em></a>.</span></p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DSL.Line.TestParams.">Device.DSL.Line.{i}.TestParams.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains the DSL line test parameters that are available during the L0 (i.e., Showtime) state.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Line.TestParams.HLOGGds">HLOGGds</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Number of sub-carriers per sub-carrier group in the downstream direction for <a href="#D.Device:2.Device.DSL.Line.TestParams.HLOGpsds"><em>HLOGpsds</em></a>. Valid values are 1, 2, 4, <span class="inserted">8, </span>and <span class="removed">8.</span><span class="inserted">16.</span> Note: See ITU-T Recommendation [<a href="#R.G.997.1">G.997.1</a>]. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Line.TestParams.QLNGds">QLNGds</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Number of sub-carriers per sub-carrier group in the downstream direction for <a href="#D.Device:2.Device.DSL.Line.TestParams.QLNpsds"><em>QLNpsds</em></a>. Valid values are 1, 2, 4, <span class="inserted">8, </span>and <span class="removed">8.</span><span class="inserted">16.</span> Note: See ITU-T Recommendation [<a href="#R.G.997.1">G.997.1</a>]. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Line.TestParams.SNRGds">SNRGds</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Number of sub-carriers per sub-carrier group in the downstream direction for <a href="#D.Device:2.Device.DSL.Line.TestParams.SNRpsds"><em>SNRpsds</em></a>. Valid values are 1, 2, 4, <span class="inserted">8, </span>and <span class="removed">8.</span><span class="inserted">16.</span> Note: See ITU-T Recommendation [<a href="#R.G.997.1">G.997.1</a>]. For a multimode device operating in a mode in which this parameter does not apply, the value of this parameter SHOULD be set to 1.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Line.TestParams.LATNds">LATNds</span></td>
<td>string[](:35)</td>
<td>R</td>
<td><p>Comma-separated list (maximum number of characters 35) of strings. Indicates the downstream line attenuation <span class="removed">per</span><span class="inserted">averaged</span> <span class="removed">usable</span><span class="inserted">across all sub-carriers in the frequency</span> band, as computed during initialization. Number of elements is dependent on the number of downstream bands but will exceed one only for <span class="inserted">ITU-T </span>G.993.2. Interpretation of <em>LATNds</em> is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation [<a href="#R.G.997.1">G.997.1</a>].</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Changed <em>:35</em> size maxLength = <em>24</em> ⇒ <em>35</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Line.TestParams.LATNus">LATNus</span></td>
<td>string[](:35)</td>
<td>R</td>
<td><p>Comma-separated list (maximum number of characters 35) of strings. Indicates the upstream line attenuation <span class="removed">per</span><span class="inserted">averaged</span> <span class="removed">usable</span><span class="inserted">across all sub-carriers in the frequency</span> band, as computed during initialization. Number of elements is dependent on the number of upstream bands but will exceed one only for <span class="inserted">ITU-T </span>G.993.2. Interpretation of <em>LATNus</em> is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation [<a href="#R.G.997.1">G.997.1</a>].</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Changed <em>:35</em> size maxLength = <em>24</em> ⇒ <em>35</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Line.TestParams.SATNds">SATNds</span></td>
<td>string[](:35)</td>
<td>R</td>
<td><p>Comma-separated list (maximum number of characters 35) of strings. Indicates the downstream signal attenuation <span class="removed">per</span><span class="inserted">averaged</span> <span class="removed">usable</span><span class="inserted">across all active sub-carriers in the frequency</span> band, as computed during the L0 (i.e., Showtime) state. Number of elements is dependent on the number of downstream bands but will exceed one only for <span class="inserted">ITU-T </span>G.993.2. Interpretation of <em>SATNds</em> is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation [<a href="#R.G.997.1">G.997.1</a>].</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Changed <em>:35</em> size maxLength = <em>24</em> ⇒ <em>35</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Line.TestParams.SATNus">SATNus</span></td>
<td>string[](:35)</td>
<td>R</td>
<td><p>Comma-separated list (maximum number of characters 35) of strings. Indicates the upstream signal attenuation <span class="removed">per</span><span class="inserted">averaged</span> <span class="removed">usable</span><span class="inserted">across all active sub-carriers in the frequency</span> band, as computed during the L0 (i.e., Showtime) state. Number of elements is dependent on the number of downstream bands but will exceed one only for <span class="inserted">ITU-T </span>G.993.2. Interpretation of <em>SATNus</em> is as defined in ITU-T Rec. G.997.1. Note: See ITU-T Recommendation [<a href="#R.G.997.1">G.997.1</a>].</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Changed <em>:35</em> size maxLength = <em>24</em> ⇒ <em>35</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DSL.Channel.">Device.DSL.Channel.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>DSL Channel table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]).
This table models DSL channel(s) on top of physical DSL lines.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.DSL.Channel.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.DSL.Channel.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Channel.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DSL.BondingGroup.">Device.DSL.BondingGroup.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>DSL bonding group table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]). Each instance is a bonding group, and is expected to be stacked above a <a href="#D.Device:2.Device.DSL.Channel."><em>DSL.Channel</em></a> instance or a <a href="#D.Device:2.Device.FAST.Line."><em>FAST.Line</em></a> instance for each bonded channel in the group.
Many of the parameters within this object, including <a href="#D.Device:2.Device.DSL.BondingGroup.LowerLayers"><em>LowerLayers</em></a>, are read-only because bonding is not expected to be configured via [<a href="#R.TR-069">TR-069</a>].
The DSL bonding data model is closely aligned with [<a href="#R.TR-159">TR-159</a>]. Corresponds to [<a href="#R.TR-159">TR-159</a>] <em>oBondingGroup</em>.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.DSL.BondingGroup.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.DSL.BondingGroup.Name"><em>Name</em></a>, or with a given value for <a href="#D.Device:2.Device.DSL.BondingGroup.GroupID"><em>GroupID</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.BondingGroup.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DSL.BondingGroup.BondedChannel.">Device.DSL.BondingGroup.{i}.BondedChannel.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>DSL bonded channel table. Each table entry represents a bonded channel within the bonding group, and is associated with exactly one <a href="#D.Device:2.Device.DSL.Channel."><em>DSL.Channel</em></a> instance or one <a href="#D.Device:2.Device.FAST.Line."><em>FAST.Line</em></a> instance. There MUST be an instance of <em>BondedChannel</em> for each DSL channel or FAST line that is bonded.
When a <a href="#D.Device:2.Device.DSL.Channel."><em>DSL.Channel</em></a> or <a href="#D.Device:2.Device.FAST.Line."><em>FAST.Line</em></a> is no longer bonded, then the CPE MUST delete the corresponding <em>BondedChannel</em> instance. However, when a bonded <a href="#D.Device:2.Device.DSL.Channel."><em>DSL.Channel</em></a> or <a href="#D.Device:2.Device.FAST.Line."><em>FAST.Line</em></a> becomes disabled, the channel remains bonded and so the corresponding <em>BondedChannel</em> instance MUST NOT be deleted.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.DSL.BondingGroup.BondedChannel.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.DSL.BondingGroup.BondedChannel.Channel"><em>Channel</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.BondingGroup.BondedChannel.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DSL.Diagnostics.">Device.DSL.Diagnostics.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The DSL Diagnostics object.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.">Device.DSL.Diagnostics.ADSLLineTest.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object is to provide diagnostic information for a CPE with an ADSL2 or ADSL2+ modem WAN interface, but MAY also be used for ADSL.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState">DiagnosticsState</span></td>
<td><span title="DiagnosticsState">string</span></td>
<td>W</td>
<td><p>[<a href="#T.DiagnosticsState">DiagnosticsState</a>] Indicates the availability of diagnostics data. Enumeration of:</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.Error"><em>Error</em></span> (READONLY, OPTIONAL)</li>
<li><span id="D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.Error_Internal"><em>Error_Internal</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.Error_Other"><em>Error_Other</em></span> (READONLY)</li></ul>

<p>If the ACS sets the value of this parameter to <a href="#D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.Requested"><em>Requested</em></a>, the
CPE MUST initiate the corresponding diagnostic test. When writing, the
only allowed values are <a href="#D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.Requested"><em>Requested</em></a> and <a href="#D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.Canceled"><em>Canceled</em></a>. To
ensure the use of the proper test parameters (the writable parameters in
this object), the test parameters MUST be set, and any errors or
inconsistencies in the test parameters MUST be detected, either prior to
or at the same time as (in the same SetParameterValues) setting this
parameter to <a href="#D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.Requested"><em>Requested</em></a>.</p>

<p>When requested, the CPE SHOULD wait until after completion of the
communication session with the ACS before starting the diagnostic test.</p>

<p>When the test is completed, the value of this parameter MUST be either
<a href="#D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.Complete"><em>Complete</em></a> (if the test completed successfully), or one of the
<em>Error</em> values listed above.</p>

<p>If the value of this parameter is anything other than <a href="#D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.Complete"><em>Complete</em></a>,
the values of the results parameters for this test are indeterminate.</p>

<p>When the diagnostic initiated by the ACS is completed (successfully or
not), but not if it is canceled for any reason, the CPE MUST establish a
new connection to the ACS to allow the ACS to view the results,
indicating the Event code <em>8 DIAGNOSTICS COMPLETE</em> in the Inform
message.</p>

<p>After the diagnostic is complete, the value of all result parameters (all
read-only parameters in this object) MUST be retained by the CPE until
either this diagnostic is run again, or the CPE reboots. After a reboot,
if the CPE has not retained the result parameters from the most recent
test, it MUST set the value of this parameter to <a href="#D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.None"><em>None</em></a>.</p>

<p>Modifying any of the writable parameters in this object except for this
one MUST result in the value of this parameter being set to
<a href="#D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, modifying any of the writable parameters
in this object except for this one MUST result in the test being
terminated and the value of this parameter being set to <a href="#D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.Requested"><em>Requested</em></a> (and possibly modifying other writable parameters in
this object) MUST result in the test being terminated and then restarted
using the current values of the test parameters.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.Canceled"><em>Canceled</em></a> MUST result in the test being canceled and the value of
this parameter being set to <a href="#D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.None"><em>None</em></a>. If the CPE does not support
the <a href="#D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.Canceled"><em>Canceled</em></a> value, it MUST return a SPV error with &ldquo;Invalid
Parameter value&rdquo; (9007) to the ACS instead.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.Error"><em>Error</em></span> (READONLY, OPTIONAL)</li>
<li><span id="D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.Error_Internal"><em>Error_Internal</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.DiagnosticsState.Error_Other"><em>Error_Other</em></span> (READONLY)</li></ul>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.ATM.">Device.ATM.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Asynchronous Transfer Mode (ATM) object that contains the <a href="#D.Device:2.Device.ATM.Link."><em>Link</em></a> interface and <a href="#D.Device:2.Device.ATM.Diagnostics.F5Loopback."><em>Diagnostics.F5Loopback</em></a> diagnostics.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.ATM.Link.">Device.ATM.Link.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>ATM link-layer table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]). Models an ATM PVC virtual circuit and the ATM Adaption Layer (AAL). An ATM Link entry is typically stacked on top of either a <a href="#D.Device:2.Device.DSL.Channel."><em>DSL.Channel.</em></a> or a <a href="#D.Device:2.Device.DSL.BondingGroup."><em>DSL.BondingGroup.</em></a> object.
When an <em>ATM Link</em> interface is used, a lower-layer <a href="#D.Device:2.Device.DSL.Channel."><em>DSL.Channel</em></a> interface MUST be configured with ATM encapsulation (see <a href="#D.Device:2.Device.DSL.Channel.LinkEncapsulationUsed"><em>DSL.Channel.{i}.LinkEncapsulationUsed</em></a>).</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.ATM.Link.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.ATM.Link.Name"><em>Name</em></a>. On creation of a new table entry, the Agent MUST choose initial values for <a href="#D.Device:2.Device.ATM.Link.Alias"><em>Alias</em></a> and <a href="#D.Device:2.Device.ATM.Link.Name"><em>Name</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.ATM.Link.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.ATM.Diagnostics.">Device.ATM.Diagnostics.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The ATM Diagnostics object.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.ATM.Diagnostics.F5Loopback.">Device.ATM.Diagnostics.F5Loopback.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object provides access to an ATM-layer F5 OAM loopback test.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState">DiagnosticsState</span></td>
<td><span title="DiagnosticsState">string</span></td>
<td>W</td>
<td><p>[<a href="#T.DiagnosticsState">DiagnosticsState</a>] Indicates the availability of diagnostics data. Enumeration of:</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.Error"><em>Error</em></span> (READONLY, OPTIONAL)</li>
<li><span id="D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.Error_Internal"><em>Error_Internal</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.Error_Other"><em>Error_Other</em></span> (READONLY)</li></ul>

<p>If the ACS sets the value of this parameter to <a href="#D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.Requested"><em>Requested</em></a>, the
CPE MUST initiate the corresponding diagnostic test. When writing, the
only allowed values are <a href="#D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.Requested"><em>Requested</em></a> and <a href="#D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.Canceled"><em>Canceled</em></a>. To
ensure the use of the proper test parameters (the writable parameters in
this object), the test parameters MUST be set, and any errors or
inconsistencies in the test parameters MUST be detected, either prior to
or at the same time as (in the same SetParameterValues) setting this
parameter to <a href="#D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.Requested"><em>Requested</em></a>.</p>

<p>When requested, the CPE SHOULD wait until after completion of the
communication session with the ACS before starting the diagnostic test.</p>

<p>When the test is completed, the value of this parameter MUST be either
<a href="#D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.Complete"><em>Complete</em></a> (if the test completed successfully), or one of the
<em>Error</em> values listed above.</p>

<p>If the value of this parameter is anything other than <a href="#D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.Complete"><em>Complete</em></a>,
the values of the results parameters for this test are indeterminate.</p>

<p>When the diagnostic initiated by the ACS is completed (successfully or
not), but not if it is canceled for any reason, the CPE MUST establish a
new connection to the ACS to allow the ACS to view the results,
indicating the Event code <em>8 DIAGNOSTICS COMPLETE</em> in the Inform
message.</p>

<p>After the diagnostic is complete, the value of all result parameters (all
read-only parameters in this object) MUST be retained by the CPE until
either this diagnostic is run again, or the CPE reboots. After a reboot,
if the CPE has not retained the result parameters from the most recent
test, it MUST set the value of this parameter to <a href="#D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.None"><em>None</em></a>.</p>

<p>Modifying any of the writable parameters in this object except for this
one MUST result in the value of this parameter being set to
<a href="#D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, modifying any of the writable parameters
in this object except for this one MUST result in the test being
terminated and the value of this parameter being set to <a href="#D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.Requested"><em>Requested</em></a> (and possibly modifying other writable parameters in
this object) MUST result in the test being terminated and then restarted
using the current values of the test parameters.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.Canceled"><em>Canceled</em></a> MUST result in the test being canceled and the value of
this parameter being set to <a href="#D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.None"><em>None</em></a>. If the CPE does not support
the <a href="#D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.Canceled"><em>Canceled</em></a> value, it MUST return a SPV error with &ldquo;Invalid
Parameter value&rdquo; (9007) to the ACS instead.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.Error"><em>Error</em></span> (READONLY, OPTIONAL)</li>
<li><span id="D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.Error_Internal"><em>Error_Internal</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.ATM.Diagnostics.F5Loopback.DiagnosticsState.Error_Other"><em>Error_Other</em></span> (READONLY)</li></ul>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.PTM.">Device.PTM.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Packet Transfer Mode ([<a href="#R.G.993.1">Annex H/G.993.1</a>]). This object contains the <a href="#D.Device:2.Device.PTM.Link."><em>Link</em></a> interface.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.PTM.Link.">Device.PTM.Link.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>PTM link-layer table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]). Models a layer 2 variable-sized packet interface. A PTM Link entry is typically stacked on top of either a <a href="#D.Device:2.Device.FAST.Line."><em>FAST.Line.</em></a>, <a href="#D.Device:2.Device.DSL.Channel."><em>DSL.Channel.</em></a>, or a <a href="#D.Device:2.Device.DSL.BondingGroup."><em>DSL.BondingGroup.</em></a> object.
When a <em>PTM Link</em> interface is used, a lower-layer <a href="#D.Device:2.Device.DSL.Channel."><em>DSL.Channel</em></a> interface MUST be configured with PTM encapsulation (see <a href="#D.Device:2.Device.DSL.Channel.LinkEncapsulationUsed"><em>DSL.Channel.{i}.LinkEncapsulationUsed</em></a>).</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.PTM.Link.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.PTM.Link.Name"><em>Name</em></a>. On creation of a new table entry, the Agent MUST choose initial values for <a href="#D.Device:2.Device.PTM.Link.Alias"><em>Alias</em></a> and <a href="#D.Device:2.Device.PTM.Link.Name"><em>Name</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.PTM.Link.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Ethernet.">Device.Ethernet.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Ethernet object. This object models several Ethernet interface objects, each representing a different stack layer, including: <a href="#D.Device:2.Device.Ethernet.Interface."><em>Interface</em></a>, <a href="#D.Device:2.Device.Ethernet.Link."><em>Link</em></a>, and <a href="#D.Device:2.Device.Ethernet.VLANTermination."><em>VLANTermination</em></a>. <a href="#D.Device:2.Device.Ethernet.Interface."><em>Interface</em></a> is media-specific and models a port, the PHY layer, and the MAC layer. <a href="#D.Device:2.Device.Ethernet.Link."><em>Link</em></a> is media-independent and models the Logical Link Control (LLC) layer. An &ldquo;outer&rdquo; <a href="#D.Device:2.Device.Ethernet.VLANTermination."><em>VLANTermination</em></a>, when present, is expected to be stacked on top of <a href="#D.Device:2.Device.Ethernet.Link."><em>Link</em></a> objects to receive and send frames with a configured VLANID.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.Ethernet.LAGNumberOfEntries"><em>LAGNumberOfEntries</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.Ethernet.LAG."><em>LAG.{i}.</em></a> object</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAGNumberOfEntries">LAGNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.Ethernet.LAG."><em>LAG</em></a> table.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Ethernet.Interface.">Device.Ethernet.Interface.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>Ethernet interface table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]). This table models physical Ethernet ports, but in terms of the interface stack it also models the PHY and MAC level Ethernet interface.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.Ethernet.Interface.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.Ethernet.Interface.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Ethernet.Interface.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Ethernet.Link.">Device.Ethernet.Link.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Ethernet link layer table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]). Table entries model the Logical Link Control (LLC) layer. It is expected that an <em>Ethernet Link</em> interface can be stacked above any lower-layer interface object capable of carrying Ethernet frames.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.Ethernet.Link.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.Ethernet.Link.Name"><em>Name</em></a>. On creation of a new table entry, the Agent MUST choose initial values for <a href="#D.Device:2.Device.Ethernet.Link.Alias"><em>Alias</em></a> and <a href="#D.Device:2.Device.Ethernet.Link.Name"><em>Name</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.Ethernet.Link.MACAddress"><em>MACAddress</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Ethernet.Link.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Ethernet.VLANTermination.">Device.Ethernet.VLANTermination.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>VLAN Termination table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]). A VLAN Termination entry is typically stacked on top of a <a href="#D.Device:2.Device.Ethernet.Link."><em>Link</em></a> object to receive and send frames with the configured <a href="#D.Device:2.Device.Ethernet.VLANTermination.VLANID"><em>VLANID</em></a>.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.Ethernet.VLANTermination.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.Ethernet.VLANTermination.Name"><em>Name</em></a>. On creation of a new table entry, the Agent MUST choose initial values for <a href="#D.Device:2.Device.Ethernet.VLANTermination.Alias"><em>Alias</em></a> and <a href="#D.Device:2.Device.Ethernet.VLANTermination.Name"><em>Name</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Ethernet.VLANTermination.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.">Device.Ethernet.LAG.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Ethernet Link Aggregation Group (LAG) table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]). Table entries model the Link Aggregation Sub-Layer as defined in [<a href="#R.802.3-2015">802.3-2015</a>] and [<a href="#R.802.1AX-2014">802.1AX-2014</a>]. It is expected that a <em>LAG</em> interface can only be stacked above <a href="#D.Device:2.Device.Ethernet.Interface."><em>Ethernet.Interface</em></a> interfaces. The CPE can reject creation of additional LAG instances if this would exceed its capabilities.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.Ethernet.LAG.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.Ethernet.LAG.Name"><em>Name</em></a>. On creation of a new table entry, the Agent MUST choose initial values for <a href="#D.Device:2.Device.Ethernet.LAG.Alias"><em>Alias</em></a> and <a href="#D.Device:2.Device.Ethernet.LAG.Name"><em>Name</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.Ethernet.LAG.MACAddress"><em>MACAddress</em></a>.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables the interface.
This parameter is based on <em>ifAdminStatus</em> from [<a href="#R.RFC2863">RFC2863</a>].</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.Status">Status</span></td>
<td>string</td>
<td>R</td>
<td><p>The current operational state of the interface (see [<a href="#R.TR-181i2">Section 4.2.2/TR-181i2</a>]). Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.Ethernet.LAG.Status.Up"><em>Up</em></span></li>
<li><span id="D.Device:2.Device.Ethernet.LAG.Status.Down"><em>Down</em></span></li>
<li><span id="D.Device:2.Device.Ethernet.LAG.Status.Unknown"><em>Unknown</em></span></li>
<li><span id="D.Device:2.Device.Ethernet.LAG.Status.Dormant"><em>Dormant</em></span></li>
<li><span id="D.Device:2.Device.Ethernet.LAG.Status.NotPresent"><em>NotPresent</em></span></li>
<li><span id="D.Device:2.Device.Ethernet.LAG.Status.LowerLayerDown"><em>LowerLayerDown</em></span></li>
<li><span id="D.Device:2.Device.Ethernet.LAG.Status.Error"><em>Error</em></span> (OPTIONAL)
When <a href="#D.Device:2.Device.Ethernet.LAG.Enable"><em>Enable</em></a> is <em>false</em> then <em>Status</em> SHOULD normally be <a href="#D.Device:2.Device.Ethernet.LAG.Status.Down"><em>Down</em></a> (or <a href="#D.Device:2.Device.Ethernet.LAG.Status.NotPresent"><em>NotPresent</em></a> or <a href="#D.Device:2.Device.Ethernet.LAG.Status.Error"><em>Error</em></a> if there is a fault condition on the interface).
When <a href="#D.Device:2.Device.Ethernet.LAG.Enable"><em>Enable</em></a> is changed to <em>true</em> then <em>Status</em> SHOULD change to <a href="#D.Device:2.Device.Ethernet.LAG.Status.Up"><em>Up</em></a> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <a href="#D.Device:2.Device.Ethernet.LAG.Status.Dormant"><em>Dormant</em></a> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <a href="#D.Device:2.Device.Ethernet.LAG.Status.Up"><em>Up</em></a> if still operable when the expected actions have completed); it SHOULD change to <a href="#D.Device:2.Device.Ethernet.LAG.Status.LowerLayerDown"><em>LowerLayerDown</em></a> if and only if the interface is prevented from entering the <a href="#D.Device:2.Device.Ethernet.LAG.Status.Up"><em>Up</em></a> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <a href="#D.Device:2.Device.Ethernet.LAG.Status.Error"><em>Error</em></a> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <a href="#D.Device:2.Device.Ethernet.LAG.Status.NotPresent"><em>NotPresent</em></a> state if the interface has missing (typically hardware) components; it SHOULD change to <a href="#D.Device:2.Device.Ethernet.LAG.Status.Unknown"><em>Unknown</em></a> if the state of the interface can not be determined for some reason.
This parameter is based on <em>ifOperStatus</em> from [<a href="#R.RFC2863">RFC2863</a>].</li></ul></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.Name">Name</span></td>
<td>string(:64)</td>
<td>R</td>
<td><p>The textual name of the LAG interface as assigned by the CPE.</p>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.LastChange">LastChange</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>The accumulated time in <em>seconds</em> since the interface entered its current operational state.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.LowerLayers">LowerLayers</span></td>
<td>string[](:1024)</td>
<td>W</td>
<td>Comma-separated list (maximum number of characters 1024) of strings. Each list item MUST be the Path Name of an interface object that is stacked immediately below this interface object, or an empty string.. See [<a href="#R.TR-181i2">Section 4.2.1/TR-181i2</a>].
<em>LowerLayers</em> must reference to Device.Ethernet.Interface instances where Link Aggregation Group is configured by the CPE.
For example, &ldquo;Device.Ethernet.Interface.1, Device.Ethernet.Interface.2&rdquo;</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.MACAddress">MACAddress</span></td>
<td><span title="MACAddress">string(:17)</span></td>
<td>W</td>
<td>[<a href="#T.MACAddress">MACAddress</a>] MAC address of the Link Aggregation Interface.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.Stats.">Device.Ethernet.LAG.{i}.Stats.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Throughput statistics for this interface.
The CPE MUST reset the interface’s Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interface’s <a href="#D.Device:2.Device.Ethernet.LAG.Status"><em>Status</em></a> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interface’s <a href="#D.Device:2.Device.Ethernet.LAG.Enable"><em>Enable</em></a> parameter transitions from <em>false</em> to <em>true</em>). Administrative and operational interface status is discussed in [<a href="#R.TR-181i2">Section 4.2.2/TR-181i2</a>].</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.Stats.BytesSent">BytesSent</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of bytes transmitted out of the interface, including framing characters.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.Stats.BytesReceived">BytesReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of bytes received on the interface, including framing characters.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.Stats.PacketsSent">PacketsSent</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of packets transmitted out of the interface.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.Stats.PacketsReceived">PacketsReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of packets received on the interface.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.Stats.ErrorsSent">ErrorsSent</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of outbound packets that could not be transmitted because of errors.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.Stats.ErrorsReceived">ErrorsReceived</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of inbound packets that contained errors preventing them from being delivered to a higher-layer protocol.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.Stats.UnicastPacketsSent">UnicastPacketsSent</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of packets requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.Stats.UnicastPacketsReceived">UnicastPacketsReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of received packets, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.Stats.DiscardPacketsSent">DiscardPacketsSent</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of outbound packets which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.Stats.DiscardPacketsReceived">DiscardPacketsReceived</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of inbound packets which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.Stats.MulticastPacketsSent">MulticastPacketsSent</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of packets that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.Stats.MulticastPacketsReceived">MulticastPacketsReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of received packets, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.Stats.BroadcastPacketsSent">BroadcastPacketsSent</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of packets that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.Stats.BroadcastPacketsReceived">BroadcastPacketsReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of received packets, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ethernet.LAG.Stats.UnknownProtoPacketsReceived">UnknownProtoPacketsReceived</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of packets received via the interface which were discarded because of an unknown or unsupported protocol.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.USB.">Device.USB.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Universal Serial Bus ([<a href="#R.USB1.0">USB1.0</a>], [<a href="#R.USB2.0">USB2.0</a>], [<a href="#R.USB3.0">USB3.0</a>]). This object contains the <a href="#D.Device:2.Device.USB.Interface."><em>Interface</em></a>, <a href="#D.Device:2.Device.USB.Port."><em>Port</em></a>, and <a href="#D.Device:2.Device.USB.USBHosts."><em>USBHosts</em></a> objects.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.USB.Interface.">Device.USB.Interface.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>USB interface table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]). This table models master and slave USB physical interfaces that support carrying Ethernet frames, e.g. via the USB Communication Device Class.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.USB.Interface.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.USB.Interface.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.USB.Interface.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.USB.Port.">Device.USB.Port.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>USB Port table. This table models master and slave USB physical ports on the device.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.USB.Port.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.USB.Port.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.USB.Port.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.USB.USBHosts.">Device.USB.USBHosts.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object models the CPE’s USB Host controllers.
See [<a href="#R.TR-157">Appendix I/TR-157</a>] for Theory of Operation.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.USB.USBHosts.Host.">Device.USB.USBHosts.Host.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>Table of CPE USB Host controllers.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.USB.USBHosts.Host.Name"><em>Name</em></a>, or with a given value for <a href="#D.Device:2.Device.USB.USBHosts.Host.Alias"><em>Alias</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.USB.USBHosts.Host.Reset">Reset</span></td>
<td>boolean</td>
<td>W</td>
<td>When set to <em>true</em>, reset the Host Controller and apply the reset signaling (see [<a href="#R.USB2.0">Chapter 7.1.7.5/USB2.0</a>]) to all of the Host Controller Hub downstream ports.
The value is not saved in the device’s state and setting it to <em>false</em> has no effect.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>boolean</em> syntax hidden = <em>true</em></li>
<li>Added <em>boolean</em> syntax command = <em>true</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.HPNA.">Device.HPNA.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>HPNA object that contains the <a href="#D.Device:2.Device.HPNA.Interface."><em>Interface</em></a> and <a href="#D.Device:2.Device.HPNA.Diagnostics."><em>Diagnostics</em></a> objects. The HPNA (also known as HomePNA) industry standard [<a href="#R.G.9954">G.9954</a>] defines peer to peer communication for home networking over existing coax cables and telephone wiring within the home.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.HPNA.Interface.">Device.HPNA.Interface.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>HPNA interface table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]). Each table entry models the PHY and MAC levels of an HPNA interface [<a href="#R.G.9954">G.9954</a>].</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.HPNA.Interface.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.HPNA.Interface.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.HPNA.Interface.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.HPNA.Interface.QoS.">Device.HPNA.Interface.{i}.QoS.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>QoS configuration object.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.HPNA.Interface.QoS.FlowSpec.">Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Flow specification table.
The <a href="#D.Device:2.Device.QoS.Classification."><em>QoS.Classification</em></a> table is used to classify ingress traffic, where <a href="#D.Device:2.Device.QoS.Classification.TrafficClass"><em>QoS.Classification.{i}.TrafficClass</em></a> is one of the classification result outputs. This <em>TrafficClass</em> value can be used to look up the appropriate <em>FlowSpec</em> entry (i.e. the <em>FlowSpec</em> entry whose <a href="#D.Device:2.Device.HPNA.Interface.QoS.FlowSpec.TrafficClasses"><em>TrafficClasses</em></a> list contains a matching traffic class).
For enabled table entries, if <a href="#D.Device:2.Device.HPNA.Interface.QoS.FlowSpec.TrafficClasses"><em>TrafficClasses</em></a> is an empty string then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.HPNA.Interface.QoS.FlowSpec.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.HPNA.Interface.QoS.FlowSpec.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.HPNA.Interface.QoS.FlowSpec.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.HPNA.Interface.QoS.FlowSpec.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.HPNA.Interface.QoS.FlowSpec.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.HPNA.Diagnostics.">Device.HPNA.Diagnostics.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The HPNA Diagnostics object.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.">Device.HPNA.Diagnostics.PHYThroughput.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>HPNA PHY throughput diagnostics configuration and results.
When diagnostics are requested, all HPNA nodes for which the <a href="#D.Device:2.Device.HPNA.Interface.AssociatedDevice.PHYDiagnosticsEnable"><em>Interface.{i}.AssociatedDevice.{i}.PHYDiagnosticsEnable</em></a> parameter is set enter PHY diagnostics mode.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState">DiagnosticsState</span></td>
<td><span title="DiagnosticsState">string</span></td>
<td>W</td>
<td><p>[<a href="#T.DiagnosticsState">DiagnosticsState</a>] Indicates the availability of diagnostics data. Enumeration of:</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Error"><em>Error</em></span> (READONLY, OPTIONAL)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Error_FailToEnableCert"><em>Error_FailToEnableCert</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Error_CertCmdTimeout"><em>Error_CertCmdTimeout</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Error_UnknownErr"><em>Error_UnknownErr</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Error_UnsupportedOpcode"><em>Error_UnsupportedOpcode</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Error_InvalidParam"><em>Error_InvalidParam</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Error_UnsupportedCmdSegment"><em>Error_UnsupportedCmdSegment</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Error_UnsupportedDataGen"><em>Error_UnsupportedDataGen</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Error_InvalidSequence"><em>Error_InvalidSequence</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Error_InvalidFrame"><em>Error_InvalidFrame</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Eror_InvalidOpcode"><em>Eror_InvalidOpcode</em></span> (READONLY)</li></ul>

<p>If the ACS sets the value of this parameter to <a href="#D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Requested"><em>Requested</em></a>, the
CPE MUST initiate the corresponding diagnostic test. When writing, the
only allowed values are <a href="#D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Requested"><em>Requested</em></a> and <a href="#D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Canceled"><em>Canceled</em></a>. To
ensure the use of the proper test parameters (the writable parameters in
this object), the test parameters MUST be set, and any errors or
inconsistencies in the test parameters MUST be detected, either prior to
or at the same time as (in the same SetParameterValues) setting this
parameter to <a href="#D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Requested"><em>Requested</em></a>.</p>

<p>When requested, the CPE SHOULD wait until after completion of the
communication session with the ACS before starting the diagnostic test.</p>

<p>When the test is completed, the value of this parameter MUST be either
<a href="#D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Complete"><em>Complete</em></a> (if the test completed successfully), or one of the
<em>Error</em> values listed above.</p>

<p>If the value of this parameter is anything other than <a href="#D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Complete"><em>Complete</em></a>,
the values of the results parameters for this test are indeterminate.</p>

<p>When the diagnostic initiated by the ACS is completed (successfully or
not), but not if it is canceled for any reason, the CPE MUST establish a
new connection to the ACS to allow the ACS to view the results,
indicating the Event code <em>8 DIAGNOSTICS COMPLETE</em> in the Inform
message.</p>

<p>After the diagnostic is complete, the value of all result parameters (all
read-only parameters in this object) MUST be retained by the CPE until
either this diagnostic is run again, or the CPE reboots. After a reboot,
if the CPE has not retained the result parameters from the most recent
test, it MUST set the value of this parameter to <a href="#D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.None"><em>None</em></a>.</p>

<p>Modifying any of the writable parameters in this object except for this
one MUST result in the value of this parameter being set to
<a href="#D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, modifying any of the writable parameters
in this object except for this one MUST result in the test being
terminated and the value of this parameter being set to <a href="#D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Requested"><em>Requested</em></a> (and possibly modifying other writable parameters in
this object) MUST result in the test being terminated and then restarted
using the current values of the test parameters.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Canceled"><em>Canceled</em></a> MUST result in the test being canceled and the value of
this parameter being set to <a href="#D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.None"><em>None</em></a>. If the CPE does not support
the <a href="#D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Canceled"><em>Canceled</em></a> value, it MUST return a SPV error with &ldquo;Invalid
Parameter value&rdquo; (9007) to the ACS instead.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Error"><em>Error</em></span> (READONLY, OPTIONAL)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Error_FailToEnableCert"><em>Error_FailToEnableCert</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Error_CertCmdTimeout"><em>Error_CertCmdTimeout</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Error_UnknownErr"><em>Error_UnknownErr</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Error_UnsupportedOpcode"><em>Error_UnsupportedOpcode</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Error_InvalidParam"><em>Error_InvalidParam</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Error_UnsupportedCmdSegment"><em>Error_UnsupportedCmdSegment</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Error_UnsupportedDataGen"><em>Error_UnsupportedDataGen</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Error_InvalidSequence"><em>Error_InvalidSequence</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Error_InvalidFrame"><em>Error_InvalidFrame</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.DiagnosticsState.Eror_InvalidOpcode"><em>Eror_InvalidOpcode</em></span> (READONLY)</li></ul>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.">Device.HPNA.Diagnostics.PerformanceMonitoring.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>HPNA performance monitoring configuration and results.
Performance monitoring results are sampled from all nodes in the HPNA network. All packet related counters are sampled synchronized at all nodes in the HPNA network in order to derive packet loss calculations in the HPNA network.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState">DiagnosticsState</span></td>
<td><span title="DiagnosticsState">string</span></td>
<td>W</td>
<td><p>[<a href="#T.DiagnosticsState">DiagnosticsState</a>] Indicates the availability of diagnostics data. Enumeration of:</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.Error"><em>Error</em></span> (READONLY, OPTIONAL)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.Error_SampleIntervalTooSmall"><em>Error_SampleIntervalTooSmall</em></span> (READONLY)</li></ul>

<p>If the ACS sets the value of this parameter to <a href="#D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.Requested"><em>Requested</em></a>, the
CPE MUST initiate the corresponding diagnostic test. When writing, the
only allowed values are <a href="#D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.Requested"><em>Requested</em></a> and <a href="#D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.Canceled"><em>Canceled</em></a>. To
ensure the use of the proper test parameters (the writable parameters in
this object), the test parameters MUST be set, and any errors or
inconsistencies in the test parameters MUST be detected, either prior to
or at the same time as (in the same SetParameterValues) setting this
parameter to <a href="#D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.Requested"><em>Requested</em></a>.</p>

<p>When requested, the CPE SHOULD wait until after completion of the
communication session with the ACS before starting the diagnostic test.</p>

<p>When the test is completed, the value of this parameter MUST be either
<a href="#D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.Complete"><em>Complete</em></a> (if the test completed successfully), or one of the
<em>Error</em> values listed above.</p>

<p>If the value of this parameter is anything other than <a href="#D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.Complete"><em>Complete</em></a>,
the values of the results parameters for this test are indeterminate.</p>

<p>When the diagnostic initiated by the ACS is completed (successfully or
not), but not if it is canceled for any reason, the CPE MUST establish a
new connection to the ACS to allow the ACS to view the results,
indicating the Event code <em>8 DIAGNOSTICS COMPLETE</em> in the Inform
message.</p>

<p>After the diagnostic is complete, the value of all result parameters (all
read-only parameters in this object) MUST be retained by the CPE until
either this diagnostic is run again, or the CPE reboots. After a reboot,
if the CPE has not retained the result parameters from the most recent
test, it MUST set the value of this parameter to <a href="#D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.None"><em>None</em></a>.</p>

<p>Modifying any of the writable parameters in this object except for this
one MUST result in the value of this parameter being set to
<a href="#D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, modifying any of the writable parameters
in this object except for this one MUST result in the test being
terminated and the value of this parameter being set to <a href="#D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.Requested"><em>Requested</em></a> (and possibly modifying other writable parameters in
this object) MUST result in the test being terminated and then restarted
using the current values of the test parameters.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.Canceled"><em>Canceled</em></a> MUST result in the test being canceled and the value of
this parameter being set to <a href="#D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.None"><em>None</em></a>. If the CPE does not support
the <a href="#D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.Canceled"><em>Canceled</em></a> value, it MUST return a SPV error with &ldquo;Invalid
Parameter value&rdquo; (9007) to the ACS instead.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.Error"><em>Error</em></span> (READONLY, OPTIONAL)</li>
<li><span id="D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.DiagnosticsState.Error_SampleIntervalTooSmall"><em>Error_SampleIntervalTooSmall</em></span> (READONLY)</li></ul>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.MoCA.">Device.MoCA.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>MoCA object that contains the <a href="#D.Device:2.Device.MoCA.Interface."><em>Interface</em></a> table [<a href="#R.MoCAv1.0">MoCAv1.0</a>] [<a href="#R.MoCAv1.1">MoCAv1.1</a>].</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.MoCA.Interface.">Device.MoCA.Interface.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>MoCA interface table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]). Each table entry models the PHY and MAC levels of a MoCA interface [<a href="#R.MoCAv1.0">MoCAv1.0</a>] [<a href="#R.MoCAv1.1">MoCAv1.1</a>].</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.MoCA.Interface.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.MoCA.Interface.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MoCA.Interface.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Ghn.">Device.Ghn.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>G.hn object that contains an <a href="#D.Device:2.Device.Ghn.Interface."><em>Interface</em></a> table for G.hn supported CPE. The ITU-T G.hn specifications [<a href="#R.G.9960">G.9960</a>] and [<a href="#R.G.9961">G.9961</a>] define Physical and MAC Layers for communication between two or more G.hn nodes in the home network over multiple wired media such as power line, phone line and coaxial cable.</td>
<td>-</td>
<td>2.4</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Ghn.Interface.">Device.Ghn.Interface.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>G.hn interface table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]). Each table entry models the PHY [<a href="#R.G.9960">G.9960</a>] and MAC [<a href="#R.G.9961">G.9961</a>] layers of a G.hn interface.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.Ghn.Interface.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.Ghn.Interface.Name"><em>Name</em></a>.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.Ghn.Interface.PSM"><em>PSM</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Ghn.Interface.PSM">PSM</span></td>
<td><span title="PSMBreakPointIndexAndLevel[2:32]">unsignedInt[2:2][2:32]</span></td>
<td>W</td>
<td>Specifies the list of PSD shaping mask (PSM) breakpoints to be applied to the G.hn interface.
Comma-separated list (2 to 32 items) of PSMBreak Point Index And Levels, with each list item consisting of:.
[<a href="#T.PSMBreakPointIndexAndLevel">PSMBreakPointIndexAndLevel</a>] 1. The PSM breakpoint sub-carrier index in the range [0:4095], and

<ol>
<li>the value of the level of the PSM at this sub-carrier expressed in <em>0.1 dBm/Hz</em> with an offset of -140 dBm/Hz.
Both values are represented as unsignedInt.
[<a href="#R.G.9964">Clause 5.2/G.9964</a>] defines limits on PSM breakpoint levels.
The PSM level is 0.1*(the value of the level of the PSM) - 140 dBm/Hz.
For example, a PSM defined by two breakpoints (subcarrier 450, PSM level -80 dBm/Hz) and (subcarrier 1050, PSM level -90 dBm/Hz) is represented by PSM [450,600],[1050,500] .</li></ol></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Ghn.Interface.Stats.">Device.Ghn.Interface.{i}.Stats.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Throughput statistics for this interface at the different G.hn reference points described in [<a href="#R.G.9961">Clause 8.1/G.9961</a>].
The CPE MUST reset the interface’s Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interface’s <a href="#D.Device:2.Device.Ghn.Interface.Status"><em>Status</em></a> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interface’s <a href="#D.Device:2.Device.Ghn.Interface.Enable"><em>Enable</em></a> parameter transitions from <em>false</em> to <em>true</em>). Administrative and operational interface status is discussed in [<a href="#R.TR-181i2">Section 4.2.2/TR-181i2</a>].</td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Ghn.Interface.Stats.BytesSent">BytesSent</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of bytes transmitted out of the interface, including framing characters.</p>

<p><span class="inserted"> </span>More specifically, this is the total number of MPDU bytes transmitted or retransmitted by the node through a physical medium (i.e., PMI defined in [<a href="#R.G.9960">Clause 5.2.1/G.9960</a>]), which correspond to data LPDUs (i.e., data packets) and framing overhead (e.g., LFH, LPH, LPCS defined in [<a href="#R.G.9961">Clause 8.1/G.9961</a>]). It does not include transmitted bytes contributed by management LPDUs (i.e., management packets). Note: LPDUs in mixed LLC frame blocks are considered data LPDUs.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>unsignedLong</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Ghn.Interface.Stats.BytesReceived">BytesReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of bytes received on the interface, including framing characters.</p>

<p><span class="inserted"> </span>More specifically, this is the total number of MPDU bytes received by the node through a physical medium, which correspond to data LPDUs and framing overhead. It does not include received bytes contributed by management LPDUs. It can include blocks with errors. Note: LPDUs in mixed LLC frame blocks are considered data LPDUs.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>unsignedLong</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Ghn.Interface.Stats.PacketsSent">PacketsSent</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of packets transmitted out of the interface.</p>

<p><span class="inserted"> </span>More specifically, this is the total number of APDUs requested for transmission by a higher layer (i.e., outbound APDUs at the x1 reference point defined in [<a href="#R.G.9960">Clause 5.2.1/G.9960</a>]) that were transmitted by the node through the physical medium. It does not include transmitted LCDUs.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>unsignedLong</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Ghn.Interface.Stats.PacketsReceived">PacketsReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of packets received on the interface.</p>

<p><span class="inserted"> </span>More specifically, this is the total number of APDUs delivered to a higher layer (i.e., inbound APDUs at the x1 reference point) that were received by the node through the physical medium. It does not include received LCDUs.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>unsignedLong</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Ghn.Interface.Stats.ErrorsSent">ErrorsSent</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of outbound packets that could not be transmitted because of errors.</p>

<p><span class="inserted"> </span>More specifically, this is the total number of APDUs that were requested for transmission by a higher layer (i.e., outbound APDUs at the x1 reference point defined in [<a href="#R.G.9960">Clause 5.2.1/G.9960</a>]) but could not be transmitted because of errors (e.g., APDUs containing CRC errors).</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>unsignedInt</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Ghn.Interface.Stats.ErrorsReceived">ErrorsReceived</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of inbound packets that contained errors preventing them from being delivered to a higher-layer protocol.</p>

<p><span class="inserted"> </span>More specifically, this is the total number of received APDUs that contained errors preventing them from being delivered to a higher layer (i.e., inbound APDUs at the x1 reference point defined in [<a href="#R.G.9960">Clause 5.2.1/G.9960</a>]). The possible causes of error are: incorrect CRC, incorrect MIC, incorrect MIC size, and incorrect size of packet.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>unsignedInt</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Ghn.Interface.Stats.UnicastPacketsSent">UnicastPacketsSent</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of packets requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.</p>

<p><span class="inserted"> </span>More specifically, this is the total number of APDUs that were requested for transmission by a higher layer (i.e., outbound APDUs at the x1 reference point) and which were addressed to a unicast address at this layer. It includes APDUs that were discarded or not sent.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>unsignedLong</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Ghn.Interface.Stats.UnicastPacketsReceived">UnicastPacketsReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of received packets, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.</p>

<p><span class="inserted"> </span>More specifically, this is the total number of received APDUs that were delivered to a higher layer (i.e., inbound APDUs at the x1 reference point) and which were addressed to a unicast address at this layer.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>unsignedLong</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Ghn.Interface.Stats.DiscardPacketsSent">DiscardPacketsSent</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of outbound packets which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.</p>

<p><span class="inserted"> </span>More specifically, this is the total number of APDUs that were requested for transmission by a higher layer (i.e., outbound APDUs at the x1 reference point) but chosen to be discarded even though no errors had been detected to prevent their being transmitted (e.g., buffer overflow).</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>unsignedInt</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Ghn.Interface.Stats.DiscardPacketsReceived">DiscardPacketsReceived</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of inbound packets which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.</p>

<p><span class="inserted"> </span>More specifically, this is the total number of received APDUs that were chosen to be discarded even though no errors had been detected to prevent their being delivered.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>unsignedInt</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Ghn.Interface.Stats.MulticastPacketsSent">MulticastPacketsSent</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of packets that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.</p>

<p><span class="inserted"> </span>More specifically, this is the total number of APDUs that were requested for transmission by a higher layer (i.e., outbound APDUs at the x1 reference point) and which were addressed to a multicast address at this layer. It includes APDUs that were discarded or not sent.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>unsignedLong</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Ghn.Interface.Stats.MulticastPacketsReceived">MulticastPacketsReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of received packets, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.</p>

<p><span class="inserted"> </span>More specifically, this is the total number of received APDUs that were delivered to a higher layer (i.e., inbound APDUs at the x1 reference point) and which were addressed to a multicast address at this layer.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>unsignedLong</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Ghn.Interface.Stats.BroadcastPacketsSent">BroadcastPacketsSent</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of packets that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.</p>

<p><span class="inserted"> </span>More specifically, this is the total number of APDUs that were requested for transmission by a higher layer (i.e., outbound APDUs at the x1 reference point) and which were addressed to a broadcast address at this layer. It includes APDUs that were discarded or not sent.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>unsignedLong</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Ghn.Interface.Stats.BroadcastPacketsReceived">BroadcastPacketsReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of received packets, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer.</p>

<p><span class="inserted"> </span>More specifically, this is the total number of received APDUs that were delivered to a higher layer (i.e., inbound APDUs at the x1 reference point) and which were addressed to a broadcast address at this layer.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>unsignedLong</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Ghn.Interface.Stats.UnknownProtoPacketsReceived">UnknownProtoPacketsReceived</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of packets received via the interface which were discarded because of an unknown or unsupported protocol.</p>

<p><span class="inserted"> </span>More specifically, this is the total number of APDUs received by the management that were discarded because of an unknown or unsupported protocol.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>unsignedInt</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.4</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Ghn.Diagnostics.">Device.Ghn.Diagnostics.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The G.hn Diagnostics object.</td>
<td>-</td>
<td>2.8</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.">Device.Ghn.Diagnostics.PHYThroughput.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>G.hn PHY throughput diagnostics configuration and results.
When diagnostics are requested, all G.hn nodes for which the <a href="#D.Device:2.Device.Ghn.Interface.PHYThroughputDiagnosticsEnable"><em>Interface.{i}.PHYThroughputDiagnosticsEnable</em></a> parameter is set enter PHY diagnostics mode.</td>
<td>-</td>
<td>2.8</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState">DiagnosticsState</span></td>
<td><span title="DiagnosticsState">string</span></td>
<td>W</td>
<td><p>[<a href="#T.DiagnosticsState">DiagnosticsState</a>] Indicates the availability of diagnostics data. Enumeration of:</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.Error"><em>Error</em></span> (READONLY, OPTIONAL)</li></ul>

<p>If the ACS sets the value of this parameter to <a href="#D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.Requested"><em>Requested</em></a>, the
CPE MUST initiate the corresponding diagnostic test. When writing, the
only allowed values are <a href="#D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.Requested"><em>Requested</em></a> and <a href="#D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.Canceled"><em>Canceled</em></a>. To
ensure the use of the proper test parameters (the writable parameters in
this object), the test parameters MUST be set, and any errors or
inconsistencies in the test parameters MUST be detected, either prior to
or at the same time as (in the same SetParameterValues) setting this
parameter to <a href="#D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.Requested"><em>Requested</em></a>.</p>

<p>When requested, the CPE SHOULD wait until after completion of the
communication session with the ACS before starting the diagnostic test.</p>

<p>When the test is completed, the value of this parameter MUST be either
<a href="#D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.Complete"><em>Complete</em></a> (if the test completed successfully), or one of the
<em>Error</em> values listed above.</p>

<p>If the value of this parameter is anything other than <a href="#D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.Complete"><em>Complete</em></a>,
the values of the results parameters for this test are indeterminate.</p>

<p>When the diagnostic initiated by the ACS is completed (successfully or
not), but not if it is canceled for any reason, the CPE MUST establish a
new connection to the ACS to allow the ACS to view the results,
indicating the Event code <em>8 DIAGNOSTICS COMPLETE</em> in the Inform
message.</p>

<p>After the diagnostic is complete, the value of all result parameters (all
read-only parameters in this object) MUST be retained by the CPE until
either this diagnostic is run again, or the CPE reboots. After a reboot,
if the CPE has not retained the result parameters from the most recent
test, it MUST set the value of this parameter to <a href="#D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.None"><em>None</em></a>.</p>

<p>Modifying any of the writable parameters in this object except for this
one MUST result in the value of this parameter being set to
<a href="#D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, modifying any of the writable parameters
in this object except for this one MUST result in the test being
terminated and the value of this parameter being set to <a href="#D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.Requested"><em>Requested</em></a> (and possibly modifying other writable parameters in
this object) MUST result in the test being terminated and then restarted
using the current values of the test parameters.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.Canceled"><em>Canceled</em></a> MUST result in the test being canceled and the value of
this parameter being set to <a href="#D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.None"><em>None</em></a>. If the CPE does not support
the <a href="#D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.Canceled"><em>Canceled</em></a> value, it MUST return a SPV error with &ldquo;Invalid
Parameter value&rdquo; (9007) to the ACS instead.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.DiagnosticsState.Error"><em>Error</em></span> (READONLY, OPTIONAL)</li></ul>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.8</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.">Device.Ghn.Diagnostics.PerformanceMonitoring.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>G.hn Performance Monitoring diagnostics configuration and results.
When diagnostics are requested, all G.hn nodes for which the <a href="#D.Device:2.Device.Ghn.Interface.PerformanceMonitoringDiagnosticsEnable"><em>Interface.{i}.PerformanceMonitoringDiagnosticsEnable</em></a> parameter is set enter PHY diagnostics mode.</td>
<td>-</td>
<td>2.8</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState">DiagnosticsState</span></td>
<td><span title="DiagnosticsState">string</span></td>
<td>W</td>
<td><p>[<a href="#T.DiagnosticsState">DiagnosticsState</a>] Indicates the availability of diagnostics data. Enumeration of:</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.Error"><em>Error</em></span> (READONLY, OPTIONAL)</li></ul>

<p>If the ACS sets the value of this parameter to <a href="#D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.Requested"><em>Requested</em></a>, the
CPE MUST initiate the corresponding diagnostic test. When writing, the
only allowed values are <a href="#D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.Requested"><em>Requested</em></a> and <a href="#D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.Canceled"><em>Canceled</em></a>. To
ensure the use of the proper test parameters (the writable parameters in
this object), the test parameters MUST be set, and any errors or
inconsistencies in the test parameters MUST be detected, either prior to
or at the same time as (in the same SetParameterValues) setting this
parameter to <a href="#D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.Requested"><em>Requested</em></a>.</p>

<p>When requested, the CPE SHOULD wait until after completion of the
communication session with the ACS before starting the diagnostic test.</p>

<p>When the test is completed, the value of this parameter MUST be either
<a href="#D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.Complete"><em>Complete</em></a> (if the test completed successfully), or one of the
<em>Error</em> values listed above.</p>

<p>If the value of this parameter is anything other than <a href="#D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.Complete"><em>Complete</em></a>,
the values of the results parameters for this test are indeterminate.</p>

<p>When the diagnostic initiated by the ACS is completed (successfully or
not), but not if it is canceled for any reason, the CPE MUST establish a
new connection to the ACS to allow the ACS to view the results,
indicating the Event code <em>8 DIAGNOSTICS COMPLETE</em> in the Inform
message.</p>

<p>After the diagnostic is complete, the value of all result parameters (all
read-only parameters in this object) MUST be retained by the CPE until
either this diagnostic is run again, or the CPE reboots. After a reboot,
if the CPE has not retained the result parameters from the most recent
test, it MUST set the value of this parameter to <a href="#D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.None"><em>None</em></a>.</p>

<p>Modifying any of the writable parameters in this object except for this
one MUST result in the value of this parameter being set to
<a href="#D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, modifying any of the writable parameters
in this object except for this one MUST result in the test being
terminated and the value of this parameter being set to <a href="#D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.Requested"><em>Requested</em></a> (and possibly modifying other writable parameters in
this object) MUST result in the test being terminated and then restarted
using the current values of the test parameters.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.Canceled"><em>Canceled</em></a> MUST result in the test being canceled and the value of
this parameter being set to <a href="#D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.None"><em>None</em></a>. If the CPE does not support
the <a href="#D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.Canceled"><em>Canceled</em></a> value, it MUST return a SPV error with &ldquo;Invalid
Parameter value&rdquo; (9007) to the ACS instead.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.DiagnosticsState.Error"><em>Error</em></span> (READONLY, OPTIONAL)</li></ul>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.8</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.HomePlug.">Device.HomePlug.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>HomePlug object that contains the <a href="#D.Device:2.Device.HomePlug.Interface."><em>Interface</em></a> table. The HomePlug industry standard [<a href="#R.HPAV1.1">HPAV1.1</a>] defines peer to peer communication over powerline medium.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.HomePlug.Interface.">Device.HomePlug.Interface.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>HomePlug interface table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]). Each table entry models the PHY and MAC levels of a HomePlug interface [<a href="#R.HPAV1.1">HPAV1.1</a>].</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.HomePlug.Interface.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.HomePlug.Interface.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.HomePlug.Interface.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.HomePlug.Interface.AssociatedDevice.">Device.HomePlug.Interface.{i}.AssociatedDevice.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This table contains information about other HomePlug devices connected to this HomePlug interface.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.HomePlug.Interface.AssociatedDevice.MACAddress"><em>MACAddress</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.HomePlug.Interface.AssociatedDevice.SNRPerTone">SNRPerTone</span></td>
<td>unsignedInt[:1155]()</td>
<td>R</td>
<td>Comma-separated list (up to 1155 items) (length ) of unsigned integers. List items indicate Signal to Noise Ratio (SNR) per tone from this remote device (expressed in <em>0.1dB</em>).

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:1155</a></em> list size</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.HomePlug.Interface.AssociatedDevice.EndStationMACs">EndStationMACs</span></td>
<td><span title="MACAddress[:16]()">string(:17)[:16]()</span></td>
<td>R</td>
<td>[<a href="#T.MACAddress">MACAddress</a>] Comma-separated list (up to 16 items) (length ) of MAC Addresses. List items represent MAC addresses of end stations bridged by the remote HomePlug device.
For example: &ldquo;11:22:33:AA:BB:CC, 22:33:44:DD:EE:66&rdquo;

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:16</a></em> list size</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.UPA.">Device.UPA.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Universal Powerline Association [<a href="#R.UPA-PLC">UPA-PLC</a>]. This object contains the <a href="#D.Device:2.Device.UPA.Interface."><em>Interface</em></a> and <a href="#D.Device:2.Device.UPA.Diagnostics."><em>Diagnostics</em></a> objects.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.UPA.Interface.">Device.UPA.Interface.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>UPA interface table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]). Each table entry models the PHY and MAC levels of a UPA interface [<a href="#R.UPA-PLC">UPA-PLC</a>].</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.UPA.Interface.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.UPA.Interface.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.UPA.Interface.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.UPA.Interface.ActiveNotch.">Device.UPA.Interface.{i}.ActiveNotch.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This object contains the list of active notches of the UPA interface.
A UPA device can have notches in its spectrum, where no power is transmitted in a given part of the spectrum. These notches are typically located in amateur radio bands, to avoid interference.
Note: All <em>ActiveNotch</em> entries can be enabled/disabled as a group using the <a href="#D.Device:2.Device.UPA.Interface.ActiveNotchEnable"><em>ActiveNotchEnable</em></a> parameter.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.UPA.Interface.ActiveNotch.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.UPA.Interface.ActiveNotch.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.UPA.Interface.ActiveNotch.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.UPA.Interface.BridgeFor.">Device.UPA.Interface.{i}.BridgeFor.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This object represents the bridge table of the UPA interface. Each instance is a bridge table entry.
It shows the MAC addresses of the remote UPA devices with their associated port number, and the MAC addresses of the end-devices (PCs, STBs, routers, etc) connected to Ethernet port of the powerline adapters with their associated logical port. In this way the system identifies to which UPA device an external device is connected to.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.UPA.Interface.BridgeFor.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.UPA.Interface.BridgeFor.MACAddress"><em>MACAddress</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.UPA.Interface.BridgeFor.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.UPA.Diagnostics.">Device.UPA.Diagnostics.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The UPA Diagnostics object.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.">Device.UPA.Diagnostics.InterfaceMeasurement.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object provides access to either a Signal-to-Noise-Ratio (SNR) Port Measurement test or a Channel Frequency Response (CFR) Port Measurement test. The <a href="#D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.Type"><em>Type</em></a> parameter is used to select which type of test to perform.
CFR and SNR measurements are done between a two UPA devices (a local interface and a remote device belonging to the same network).</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState">DiagnosticsState</span></td>
<td><span title="DiagnosticsState">string</span></td>
<td>W</td>
<td><p>[<a href="#T.DiagnosticsState">DiagnosticsState</a>] Indicates the availability of diagnostics data. Enumeration of:</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.Error"><em>Error</em></span> (READONLY, OPTIONAL)</li>
<li><span id="D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.Error_InvalidPort"><em>Error_InvalidPort</em></span> (READONLY)</li></ul>

<p>If the ACS sets the value of this parameter to <a href="#D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.Requested"><em>Requested</em></a>, the
CPE MUST initiate the corresponding diagnostic test. When writing, the
only allowed values are <a href="#D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.Requested"><em>Requested</em></a> and <a href="#D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.Canceled"><em>Canceled</em></a>. To
ensure the use of the proper test parameters (the writable parameters in
this object), the test parameters MUST be set, and any errors or
inconsistencies in the test parameters MUST be detected, either prior to
or at the same time as (in the same SetParameterValues) setting this
parameter to <a href="#D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.Requested"><em>Requested</em></a>.</p>

<p>When requested, the CPE SHOULD wait until after completion of the
communication session with the ACS before starting the diagnostic test.</p>

<p>When the test is completed, the value of this parameter MUST be either
<a href="#D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.Complete"><em>Complete</em></a> (if the test completed successfully), or one of the
<em>Error</em> values listed above.</p>

<p>If the value of this parameter is anything other than <a href="#D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.Complete"><em>Complete</em></a>,
the values of the results parameters for this test are indeterminate.</p>

<p>When the diagnostic initiated by the ACS is completed (successfully or
not), but not if it is canceled for any reason, the CPE MUST establish a
new connection to the ACS to allow the ACS to view the results,
indicating the Event code <em>8 DIAGNOSTICS COMPLETE</em> in the Inform
message.</p>

<p>After the diagnostic is complete, the value of all result parameters (all
read-only parameters in this object) MUST be retained by the CPE until
either this diagnostic is run again, or the CPE reboots. After a reboot,
if the CPE has not retained the result parameters from the most recent
test, it MUST set the value of this parameter to <a href="#D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.None"><em>None</em></a>.</p>

<p>Modifying any of the writable parameters in this object except for this
one MUST result in the value of this parameter being set to
<a href="#D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, modifying any of the writable parameters
in this object except for this one MUST result in the test being
terminated and the value of this parameter being set to <a href="#D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.Requested"><em>Requested</em></a> (and possibly modifying other writable parameters in
this object) MUST result in the test being terminated and then restarted
using the current values of the test parameters.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.Canceled"><em>Canceled</em></a> MUST result in the test being canceled and the value of
this parameter being set to <a href="#D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.None"><em>None</em></a>. If the CPE does not support
the <a href="#D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.Canceled"><em>Canceled</em></a> value, it MUST return a SPV error with &ldquo;Invalid
Parameter value&rdquo; (9007) to the ACS instead.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.Error"><em>Error</em></span> (READONLY, OPTIONAL)</li>
<li><span id="D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.DiagnosticsState.Error_InvalidPort"><em>Error_InvalidPort</em></span> (READONLY)</li></ul>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.Measurements">Measurements</span></td>
<td>unsignedInt[:1536]()</td>
<td>R</td>
<td>Comma-separated list (up to 1536 items) (length ) of unsigned integers. Result of Signal-to-Noise-Ratio measurement (if <a href="#D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.Type"><em>Type</em></a> is <a href="#D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.Type.SNR"><em>SNR</em></a>) or Channel Frequency Response measurement (if <a href="#D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.Type"><em>Type</em></a> is <a href="#D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.Type.CFR"><em>CFR</em></a>).
List items indicate measurements per carrier for a PLC port (expressed in <em>0.1dB</em>).

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:1536</a></em> list size</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.">Device.WiFi.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The WiFi object is based on the WiFi Alliance 802.11 specifications ([<a href="#R.802.11-2007">802.11-2007</a>]). It defines interface objects (<a href="#D.Device:2.Device.WiFi.Radio."><em>Radio</em></a> and <a href="#D.Device:2.Device.WiFi.SSID."><em>SSID</em></a>), and application objects (<a href="#D.Device:2.Device.WiFi.AccessPoint."><em>AccessPoint</em></a> and <a href="#D.Device:2.Device.WiFi.EndPoint."><em>EndPoint</em></a>).

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.WiFi.ResetCounter"><em>ResetCounter</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.Reset"><em>Reset</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.ResetCounter">ResetCounter</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter32">StatsCounter32</a>] This parameter counts the number of WiFi host or driver resets since the last device reset. This parameter is reset to zero after the device resets, and increments with each successive WiFi host or driver reset.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Reset">Reset</span></td>
<td>boolean</td>
<td>W</td>
<td>This parameter represents a request to reset or reboot the WiFi sub-system without resetting or rebooting the device.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.Radio.">Device.WiFi.Radio.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This object models an 802.11 wireless radio on a device (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]).
If the device can establish more than one connection simultaneously (e.g. a dual radio device), a separate <em>Radio</em> instance MUST be used for each physical radio of the device. See [<a href="#R.TR-181i2">Appendix III.1/TR-181i2</a>] for additional information.
Note: A dual-band single-radio device (e.g. an 802.11a/b/g radio) can be configured to operate at 2.4 or 5 GHz frequency bands, but only a single frequency band is used to transmit/receive at a given time. Therefore, a single <em>Radio</em> instance is used even for a dual-band radio.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.WiFi.Radio.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.WiFi.Radio.Name"><em>Name</em></a>.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.ChannelLastChange"><em>ChannelLastChange</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.ChannelLastSelectionReason"><em>ChannelLastSelectionReason</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.MaxSupportedSSIDs"><em>MaxSupportedSSIDs</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.MaxSupportedAssociations"><em>MaxSupportedAssociations</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.FirmwareVersion"><em>FirmwareVersion</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.SupportedOperatingChannelBandwidths"><em>SupportedOperatingChannelBandwidths</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.Radio.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="deprecated-parameter">
<td><span id="D.Device:2.Device.WiFi.Radio.Upstream">Upstream</span></td>
<td>boolean</td>
<td>R</td>
<td>Indicates whether the interface points towards the Internet (<em>true</em>) or towards End Devices (<em>false</em>). For example: * For an Internet Gateway Device, <em>Upstream</em> will be <em>true</em> for all WAN interfaces and <em>false</em> for all LAN interfaces. * For a standalone WiFi Access Point that is connected via Ethernet to an Internet Gateway Device, <em>Upstream</em> will be <em>true</em> for the Ethernet interface and <em>false</em> for the WiFi Radio interface. * For an End Device, <em>Upstream</em> will be <em>true</em> for all interfaces.<span class="inserted"> This parameter is DEPRECATED because it gives a wrong indication for multiple SSIDs. Use the <a href="#D.Device:2.Device.WiFi.SSID.Upstream"><em>SSID.{i}.Upstream</em></a> parameter instead.</span>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added status = <em>deprecated</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.ChannelLastChange">ChannelLastChange</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>The accumulated time in <em>seconds</em> since the current <a href="#D.Device:2.Device.WiFi.Radio.Channel"><em>Channel</em></a> came into use.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.ChannelLastSelectionReason">ChannelLastSelectionReason</span></td>
<td>string</td>
<td>R</td>
<td><p>The cause of the last channel selection.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.WiFi.Radio.ChannelLastSelectionReason.Manual"><em>Manual</em></span> (Manual selection of the <a href="#D.Device:2.Device.WiFi.Radio.Channel"><em>Channel</em></a>)</li>
<li><span id="D.Device:2.Device.WiFi.Radio.ChannelLastSelectionReason.Auto_Startup"><em>Auto_Startup</em></span> (Automatic channel selection procedure launched at radio startup)</li>
<li><span id="D.Device:2.Device.WiFi.Radio.ChannelLastSelectionReason.Auto_User"><em>Auto_User</em></span> (Automatic channel selection procedure triggered by the user (e.g. via a GUI))</li>
<li><span id="D.Device:2.Device.WiFi.Radio.ChannelLastSelectionReason.Auto_Refresh"><em>Auto_Refresh</em></span> (Automatic channel selection procedure triggered by the <a href="#D.Device:2.Device.WiFi.Radio.AutoChannelRefreshPeriod"><em>AutoChannelRefreshPeriod</em></a> timer)</li>
<li><span id="D.Device:2.Device.WiFi.Radio.ChannelLastSelectionReason.Auto_Dynamic"><em>Auto_Dynamic</em></span> (Automatic channel selection procedure dynamically triggered to adjust to environmental interference)</li>
<li><span id="D.Device:2.Device.WiFi.Radio.ChannelLastSelectionReason.Auto_DFS"><em>Auto_DFS</em></span> (Automatic channel selection procedure triggered by Dynamic Frequency Selection (DFS) [<a href="#R.ETSIBRAN">ETSIBRAN</a>])</li>
<li><span id="D.Device:2.Device.WiFi.Radio.ChannelLastSelectionReason.Unknown"><em>Unknown</em></span></li></ul></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.MaxSupportedSSIDs">MaxSupportedSSIDs</span></td>
<td>unsignedInt(1:)</td>
<td>R</td>
<td>Maximum number of SSIDs supported on this radio.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.MaxSupportedAssociations">MaxSupportedAssociations</span></td>
<td>unsignedInt(1:)</td>
<td>R</td>
<td>Maximum number of associated devices supported.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.FirmwareVersion">FirmwareVersion</span></td>
<td>string(:64)</td>
<td>R</td>
<td>This radio’s WiFi firmware version.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.SupportedOperatingChannelBandwidths">SupportedOperatingChannelBandwidths</span></td>
<td>string[]</td>
<td>R</td>
<td><p>Comma-separated list of strings. These are the valid writable values for <a href="#D.Device:2.Device.WiFi.Radio.OperatingChannelBandwidth"><em>OperatingChannelBandwidth</em></a>.</p>

<p>Each list item is an enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.WiFi.Radio.SupportedOperatingChannelBandwidths.20MHz"><em>20MHz</em></span></li>
<li><span id="D.Device:2.Device.WiFi.Radio.SupportedOperatingChannelBandwidths.40MHz"><em>40MHz</em></span> (wide mode)</li>
<li><span id="D.Device:2.Device.WiFi.Radio.SupportedOperatingChannelBandwidths.80MHz"><em>80MHz</em></span> (802.11ac only)</li>
<li><span id="D.Device:2.Device.WiFi.Radio.SupportedOperatingChannelBandwidths.160MHz"><em>160MHz</em></span> (802.11ac only)</li>
<li><span id="D.Device:2.Device.WiFi.Radio.SupportedOperatingChannelBandwidths.Auto"><em>Auto</em></span></li></ul></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.Radio.OperatingChannelBandwidth">OperatingChannelBandwidth</span></td>
<td>string</td>
<td>W</td>
<td>The value MUST be a member of the list reported by the <a href="#D.Device:2.Device.WiFi.Radio.SupportedOperatingChannelBandwidths"><em>SupportedOperatingChannelBandwidths</em></a> parameter. The preferred channel bandwidth to be used (applicable to 802.11n and 802.11ac specifications only).

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed string <em>20MHz</em> enumeration</li>
<li>Removed string <em>40MHz</em> enumeration</li>
<li>Removed string <em>80MHz</em> enumeration</li>
<li>Removed string <em>160MHz</em> enumeration</li>
<li>Removed string <em>Auto</em> enumeration</li>
<li>Added string <em>SupportedOperatingChannelBandwidths</em> enumerationRef</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.Radio.MCS">MCS</span></td>
<td>int(-1:15,16:31)</td>
<td>W</td>
<td>The Modulation Coding Scheme index (applicable to 802.11n and 802.11ac specifications only). Values from 0 to 15 MUST be supported ([<a href="#R.802.11n-2009">802.11n-2009</a>]). Values from 0 to 9 MUST be supported for [<a href="#R.802.11ac-2013">802.11ac-2013</a>]. A value of -1 indicates automatic selection of the MCS index.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>16:31</em> range optional = <em>true</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.Radio.Stats.">Device.WiFi.Radio.{i}.Stats.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Throughput statistics for this interface. Packet counters here count 802.11 WiFi frames. See [<a href="#R.TR-181i2a5">Appendix III/TR-181i2a5</a>] for further details. The CPE MUST reset the interface’s Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interface’s <a href="#D.Device:2.Device.WiFi.Radio.Status"><em>Status</em></a> parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interface’s <a href="#D.Device:2.Device.WiFi.Radio.Enable"><em>Enable</em></a> parameter transitions from <em>false</em> to <em>true</em>). Administrative and operational interface status is discussed in [<a href="#R.TR-181i2a5">Section 4.2.2/TR-181i2a5</a>].

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.Stats.TotalChannelChangeCount"><em>TotalChannelChangeCount</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.Stats.ManualChannelChangeCount"><em>ManualChannelChangeCount</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.Stats.AutoStartupChannelChangeCount"><em>AutoStartupChannelChangeCount</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.Stats.AutoUserChannelChangeCount"><em>AutoUserChannelChangeCount</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.Stats.AutoRefreshChannelChangeCount"><em>AutoRefreshChannelChangeCount</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.Stats.AutoDynamicChannelChangeCount"><em>AutoDynamicChannelChangeCount</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.Radio.Stats.AutoDFSChannelChangeCount"><em>AutoDFSChannelChangeCount</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.Stats.TotalChannelChangeCount">TotalChannelChangeCount</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The total number of times that the <a href="#D.Device:2.Device.WiFi.Radio.Channel"><em>Channel</em></a> has changed since the <a href="#D.Device:2.Device.WiFi.Radio."><em>WiFi.Radio</em></a> entered its current operating state.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.Stats.ManualChannelChangeCount">ManualChannelChangeCount</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of times that the <a href="#D.Device:2.Device.WiFi.Radio.Channel"><em>Channel</em></a> has changed due to manual channel selection since the <a href="#D.Device:2.Device.WiFi.Radio."><em>WiFi.Radio</em></a> entered its current operating state.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.Stats.AutoStartupChannelChangeCount">AutoStartupChannelChangeCount</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of times that the <a href="#D.Device:2.Device.WiFi.Radio.Channel"><em>Channel</em></a> has changed due to automatic channel selection procedure launched at radio startup since the <a href="#D.Device:2.Device.WiFi.Radio."><em>WiFi.Radio</em></a> entered its current operating state.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.Stats.AutoUserChannelChangeCount">AutoUserChannelChangeCount</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of times that the <a href="#D.Device:2.Device.WiFi.Radio.Channel"><em>Channel</em></a> has changed due to automatic channel selection procedure triggered by the user (e.g. via a GUI) since the <a href="#D.Device:2.Device.WiFi.Radio."><em>WiFi.Radio</em></a> entered its current operating state.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.Stats.AutoRefreshChannelChangeCount">AutoRefreshChannelChangeCount</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of times that the <a href="#D.Device:2.Device.WiFi.Radio.Channel"><em>Channel</em></a> has changed due to automatic channel selection procedure triggered by the <a href="#D.Device:2.Device.WiFi.Radio.AutoChannelRefreshPeriod"><em>AutoChannelRefreshPeriod</em></a> timer since the <a href="#D.Device:2.Device.WiFi.Radio."><em>WiFi.Radio</em></a> entered its current operating state.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.Stats.AutoDynamicChannelChangeCount">AutoDynamicChannelChangeCount</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of times that the <a href="#D.Device:2.Device.WiFi.Radio.Channel"><em>Channel</em></a> has changed due to automatic channel selection procedure dynamically triggered to adjust to environmental interference since the <a href="#D.Device:2.Device.WiFi.Radio."><em>WiFi.Radio</em></a> entered its current operating state.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.Radio.Stats.AutoDFSChannelChangeCount">AutoDFSChannelChangeCount</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of times that the <a href="#D.Device:2.Device.WiFi.Radio.Channel"><em>Channel</em></a> has changed due to automatic channel selection procedure triggered by DFS [<a href="#R.ETSIBRAN">ETSIBRAN</a>] since the <a href="#D.Device:2.Device.WiFi.Radio."><em>WiFi.Radio</em></a> entered its current operating state.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.SSID.">Device.WiFi.SSID.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>WiFi SSID table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]), where table entries model the MAC layer. A WiFi SSID entry is typically stacked on top of a <a href="#D.Device:2.Device.WiFi.Radio."><em>Radio</em></a> object.
WiFi SSID is also a multiplexing layer, i.e. more than one <em>SSID</em> can be stacked above a single <a href="#D.Device:2.Device.WiFi.Radio."><em>Radio</em></a>.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.WiFi.SSID.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.WiFi.SSID.Name"><em>Name</em></a>. On creation of a new table entry, the Agent MUST choose initial values for <a href="#D.Device:2.Device.WiFi.SSID.Alias"><em>Alias</em></a> and <a href="#D.Device:2.Device.WiFi.SSID.Name"><em>Name</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.WiFi.SSID.BSSID"><em>BSSID</em></a>.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.WiFi.SSID.Upstream"><em>Upstream</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.SSID.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.SSID.Upstream">Upstream</span></td>
<td>boolean</td>
<td>R</td>
<td>Indicates whether the interface points towards the Internet (<em>true</em>) or towards End Devices (<em>false</em>).
For example:

<ul>
<li>For an Internet Gateway Device, <em>Upstream</em> will be <em>true</em> for all WAN interfaces and <em>false</em> for all LAN interfaces.</li>
<li>For a standalone WiFi Access Point that is connected via Ethernet to an Internet Gateway Device, <em>Upstream</em> will be <em>true</em> for the Ethernet interface and <em>false</em> for the WiFi Radio interface.</li>
<li>For an End Device, <em>Upstream</em> will be <em>true</em> for all interfaces.
This parameter supersedes the deprecated <strong>{{param: reference to deprecated parameter Device.WiFi.Radio.{i}.Upstream}}</strong> parameter. If both exist, the parameter <strong>{{param: reference to deprecated parameter Device.WiFi.Radio.{i}.Upstream}}</strong> is ignored.</li></ul></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.">Device.WiFi.AccessPoint.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This object models an 802.11 connection from the perspective of a wireless access point. Each <em>AccessPoint</em> entry is associated with a particular <a href="#D.Device:2.Device.WiFi.SSID."><em>SSID</em></a> interface instance via the <a href="#D.Device:2.Device.WiFi.AccessPoint.SSIDReference"><em>SSIDReference</em></a> parameter.
For enabled table entries, if <a href="#D.Device:2.Device.WiFi.AccessPoint.SSIDReference"><em>SSIDReference</em></a> is not a valid reference then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.WiFi.AccessPoint.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.WiFi.AccessPoint.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.
Note: The <em>AccessPoint</em> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to an empty string. However, doing so under these circumstances might cause the updated <em>AccessPoint</em> row to then violate the table’s unique key constraint; if this occurs, the CPE MUST set <a href="#D.Device:2.Device.WiFi.AccessPoint.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.WiFi.AccessPoint.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a> and disable the offending <em>AccessPoint</em> row.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.WiFi.AccessPoint.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.WiFi.AccessPoint.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.WiFi.AccessPoint.SSIDReference"><em>SSIDReference</em></a>.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.WiFi.AccessPoint.MaxAllowedAssociations"><em>MaxAllowedAssociations</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.MaxAllowedAssociations">MaxAllowedAssociations</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>Maximum number of associated devices allowed for this SSID. If the number is reached new device connections to this access point will be rejected.
If the number is changed to a value less than the actual number of associated devices, new device connections will be rejected until the number of devices is below this number. It is not expected that any connections are dropped.
If the parameter <a href="#D.Device:2.Device.WiFi.Radio.MaxSupportedAssociations"><em>Radio.{i}.MaxSupportedAssociations</em></a> exists, the value MUST be less than or equal to the maximum number specified in <a href="#D.Device:2.Device.WiFi.Radio.MaxSupportedAssociations"><em>Radio.{i}.MaxSupportedAssociations</em></a>.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.Security.">Device.WiFi.AccessPoint.{i}.Security.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains security related parameters that apply to a CPE acting as an Access Point [<a href="#R.802.11-2007">802.11-2007</a>].</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.Security.WEPKey">WEPKey</span></td>
<td>hexBinary(5,13)</td>
<td>W</td>
<td><p>A WEP key expressed as a hexadecimal string.
<em>WEPKey</em> is used only if <a href="#D.Device:2.Device.WiFi.AccessPoint.Security.ModeEnabled"><em>ModeEnabled</em></a> is set to <a href="#D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WEP-64"><em>WEP-64</em></a> or <a href="#D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WEP-128"><em>WEP-128</em></a>.
A 5 byte <em>WEPKey</em> corresponds to security mode <a href="#D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WEP-64"><em>WEP-64</em></a> and a 13 byte <em>WEPKey</em> corresponds to security mode <a href="#D.Device:2.Device.WiFi.AccessPoint.Security.ModesSupported.WEP-128"><em>WEP-128</em></a>.</p>

<p>When read, this parameter returns an empty string, regardless of the actual value.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>5</em> size <em>40-bit encryption</em> description</li>
<li>Removed <em>13</em> size <em>104-bit encryption</em> description</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.AssociatedDevice.">Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>A table of the devices currently associated with the access point.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.WiFi.AccessPoint.AssociatedDevice.MACAddress"><em>MACAddress</em></a>.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.WiFi.AccessPoint.AssociatedDevice.AssociationTime"><em>AssociationTime</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.WiFi.AccessPoint.AssociatedDevice.Noise"><em>Noise</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.AssociatedDevice.LastDataDownlinkRate">LastDataDownlinkRate</span></td>
<td>unsignedInt(1000:)</td>
<td>R</td>
<td><p>The data transmit rate in <em>kbps</em> that was most recently used for transmission from the access point to the associated device.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>1000:600000</em> range maxInclusive = <em>600000</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.AssociatedDevice.LastDataUplinkRate">LastDataUplinkRate</span></td>
<td>unsignedInt(1000:)</td>
<td>R</td>
<td><p>The data transmit rate in <em>kbps</em> that was most recently used for transmission from the associated device to the access point.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>1000:600000</em> range maxInclusive = <em>600000</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.AssociatedDevice.AssociationTime">AssociationTime</span></td>
<td>dateTime</td>
<td>R</td>
<td>Date and time in UTC when the device was associated</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.WiFi.AccessPoint.AssociatedDevice.Noise">Noise</span></td>
<td>int(-200:0)</td>
<td>R</td>
<td>An indicator of radio noise on the uplink from the associated device to the access point, measured in <em>dBm</em>, as an average of the last 100 packets received from the device (see ANPI definition in [<a href="#R.802.11-2012">Clause 10.11.9.4/802.11-2012</a>])</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.EndPoint.">Device.WiFi.EndPoint.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This object models an 802.11 connection from the perspective of a wireless end point. Each <em>EndPoint</em> entry is associated with a particular <a href="#D.Device:2.Device.WiFi.SSID."><em>SSID</em></a> interface instance via the <a href="#D.Device:2.Device.WiFi.EndPoint.SSIDReference"><em>SSIDReference</em></a> parameter, and an associated active <a href="#D.Device:2.Device.WiFi.EndPoint.Profile."><em>Profile</em></a> instance via the <a href="#D.Device:2.Device.WiFi.EndPoint.ProfileReference"><em>ProfileReference</em></a> parameter. The active profile is responsible for specifying the actual SSID and security settings used by the end point.
For enabled table entries, if <a href="#D.Device:2.Device.WiFi.EndPoint.SSIDReference"><em>SSIDReference</em></a> or <a href="#D.Device:2.Device.WiFi.EndPoint.ProfileReference"><em>ProfileReference</em></a> is not a valid reference then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.WiFi.EndPoint.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.WiFi.EndPoint.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.
Note: The <em>EndPoint</em> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to an empty string. However, doing so under these circumstances might cause the updated <em>EndPoint</em> row to then violate the table’s unique key constraint; if this occurs, the CPE MUST set <a href="#D.Device:2.Device.WiFi.EndPoint.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.WiFi.EndPoint.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a> and disable the offending <em>EndPoint</em> row.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.WiFi.EndPoint.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.WiFi.EndPoint.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.WiFi.EndPoint.SSIDReference"><em>SSIDReference</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.EndPoint.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.EndPoint.Profile.">Device.WiFi.EndPoint.{i}.Profile.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>EndPoint Profile table.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.WiFi.EndPoint.Profile.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.WiFi.EndPoint.Profile.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with the same values for all of <a href="#D.Device:2.Device.WiFi.EndPoint.Profile.SSID"><em>SSID</em></a>, <a href="#D.Device:2.Device.WiFi.EndPoint.Profile.Location"><em>Location</em></a> and <a href="#D.Device:2.Device.WiFi.EndPoint.Profile.Priority"><em>Priority</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.EndPoint.Profile.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.EndPoint.Profile.Security.">Device.WiFi.EndPoint.{i}.Profile.{i}.Security.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains security related parameters that apply to a WiFi End Point profile [<a href="#R.802.11-2007">802.11-2007</a>].</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.EndPoint.Profile.Security.WEPKey">WEPKey</span></td>
<td>hexBinary(5,13)</td>
<td>W</td>
<td><p>A WEP key expressed as a hexadecimal string.
<em>WEPKey</em> is used only if <a href="#D.Device:2.Device.WiFi.EndPoint.Profile.Security.ModeEnabled"><em>ModeEnabled</em></a> is set to <a href="#D.Device:2.Device.WiFi.EndPoint.Security.ModesSupported.WEP-64"><em>WEP-64</em></a> or <a href="#D.Device:2.Device.WiFi.EndPoint.Security.ModesSupported.WEP-128"><em>WEP-128</em></a>.
A 5 byte <em>WEPKey</em> corresponds to security mode <a href="#D.Device:2.Device.WiFi.EndPoint.Security.ModesSupported.WEP-64"><em>WEP-64</em></a> and a 13 byte <em>WEPKey</em> corresponds to security mode <a href="#D.Device:2.Device.WiFi.EndPoint.Security.ModesSupported.WEP-128"><em>WEP-128</em></a>.</p>

<p>When read, this parameter returns an empty string, regardless of the actual value.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>5</em> size <em>40-bit encryption</em> description</li>
<li>Removed <em>13</em> size <em>104-bit encryption</em> description</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.">Device.WiFi.NeighboringWiFiDiagnostic.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object defines access to other WiFi SSIDs that this device is able to receive.</td>
<td>-</td>
<td>2.7</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState">DiagnosticsState</span></td>
<td><span title="DiagnosticsState">string</span></td>
<td>W</td>
<td><p>[<a href="#T.DiagnosticsState">DiagnosticsState</a>] Indicates the availability of diagnostics data. Enumeration of:</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.Error"><em>Error</em></span> (READONLY, OPTIONAL)</li>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.Completed"><em>Completed</em></span> (READONLY, DEPRECATED)</li></ul>

<p>If the ACS sets the value of this parameter to <a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.Requested"><em>Requested</em></a>, the
CPE MUST initiate the corresponding diagnostic test. When writing, the
only allowed values are <a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.Requested"><em>Requested</em></a> and <a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.Canceled"><em>Canceled</em></a>. To
ensure the use of the proper test parameters (the writable parameters in
this object), the test parameters MUST be set, and any errors or
inconsistencies in the test parameters MUST be detected, either prior to
or at the same time as (in the same SetParameterValues) setting this
parameter to <a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.Requested"><em>Requested</em></a>.</p>

<p>When requested, the CPE SHOULD wait until after completion of the
communication session with the ACS before starting the diagnostic test.</p>

<p>When the test is completed, the value of this parameter MUST be either
<a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.Complete"><em>Complete</em></a> (if the test completed successfully), or one of the
<em>Error</em> values listed above.</p>

<p>If the value of this parameter is anything other than <a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.Complete"><em>Complete</em></a>,
the values of the results parameters for this test are indeterminate.</p>

<p>When the diagnostic initiated by the ACS is completed (successfully or
not), but not if it is canceled for any reason, the CPE MUST establish a
new connection to the ACS to allow the ACS to view the results,
indicating the Event code <em>8 DIAGNOSTICS COMPLETE</em> in the Inform
message.</p>

<p>After the diagnostic is complete, the value of all result parameters (all
read-only parameters in this object) MUST be retained by the CPE until
either this diagnostic is run again, or the CPE reboots. After a reboot,
if the CPE has not retained the result parameters from the most recent
test, it MUST set the value of this parameter to <a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.None"><em>None</em></a>.</p>

<p>Modifying any of the writable parameters in this object except for this
one MUST result in the value of this parameter being set to
<a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, modifying any of the writable parameters
in this object except for this one MUST result in the test being
terminated and the value of this parameter being set to <a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.Requested"><em>Requested</em></a> (and possibly modifying other writable parameters in
this object) MUST result in the test being terminated and then restarted
using the current values of the test parameters.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.Canceled"><em>Canceled</em></a> MUST result in the test being canceled and the value of
this parameter being set to <a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.None"><em>None</em></a>. If the CPE does not support
the <a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.Canceled"><em>Canceled</em></a> value, it MUST return a SPV error with &ldquo;Invalid
Parameter value&rdquo; (9007) to the ACS instead.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.Error"><em>Error</em></span> (READONLY, OPTIONAL)</li>
<li><span id="D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState.Completed"><em>Completed</em></span> (READONLY, DEPRECATED)</li></ul>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.7</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Bridging.">Device.Bridging.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Layer 2 bridging configuration. Specifies bridges between different layer 2 interfaces. Bridges can be defined to include layer 2 filter criteria to selectively bridge traffic between interfaces.
This object can be used to configure both 802.1D [<a href="#R.802.1D-2004">802.1D-2004</a>] and 802.1Q [<a href="#R.802.1Q-2011">802.1Q-2011</a>] bridges.
Not all 802.1D and 802.1Q features are modeled, and some additional features not present in either 802.1D or 802.1Q are modeled.
802.1Q [<a href="#R.802.1Q-2011">802.1Q-2011</a>] bridges incorporate 802.1Q [<a href="#R.802.1Q-2005">802.1Q-2005</a>] customer and 802.1ad [<a href="#R.802.1ad-2005">802.1ad-2005</a>] provider bridges.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Bridging.Bridge.">Device.Bridging.Bridge.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Bridge table.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.Bridging.Bridge.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.Bridging.Bridge.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Bridging.Bridge.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Bridging.Bridge.Port.">Device.Bridging.Bridge.{i}.Port.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Bridge Port table, which MUST contain an entry for each bridge port (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]).
There are two types of bridge ports: management (upward facing) and non-management (downward facing). This is determined by configuring the Boolean <a href="#D.Device:2.Device.Bridging.Bridge.Port.ManagementPort"><em>ManagementPort</em></a> parameter. The CPE will automatically configure each management bridge port to appear in the interface stack above all non-management bridge ports that share the same <a href="#D.Device:2.Device.Bridging.Bridge."><em>Bridge</em></a> instance.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.Bridging.Bridge.Port.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.Bridging.Bridge.Port.Name"><em>Name</em></a>. On creation of a new table entry, the Agent MUST choose initial values for <a href="#D.Device:2.Device.Bridging.Bridge.Port.Alias"><em>Alias</em></a> and <a href="#D.Device:2.Device.Bridging.Bridge.Port.Name"><em>Name</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Bridging.Bridge.Port.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Bridging.Bridge.Port.PriorityRegeneration">PriorityRegeneration</span></td>
<td>unsignedInt(0:7)[8:8]()</td>
<td>W</td>
<td>Comma-separated list (8 items) (length ) of unsigned integers (0 to 7). List items represent user priority regeneration values for each ingress user priority on this Bridge Port.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>8:8</a></em> list size</li></ul></div></td>
<td>0,1,2,3,4,5,6,7</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Bridging.Bridge.Port.ServiceAccessPrioritySelection">ServiceAccessPrioritySelection</span></td>
<td>boolean</td>
<td>W</td>
<td>This parameter controls the Service Access Priority selection function as described in [<a href="#R.802.1Q-2011">Section 6.13/802.1Q-2011</a>]. The parameter is applicable to deployments of <a href="#D.Device:2.Device.Bridging.Bridge."><em>Bridge</em></a> instances that are referenced by <strong>{{param: non-existent <span class="inserted">###.Bridging.ProviderBridge.{i}.SVLANcomponent</span>}}</strong>.</td>
<td>false</td>
<td>2.7</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Bridging.Bridge.Port.ServiceAccessPriorityTranslation">ServiceAccessPriorityTranslation</span></td>
<td>unsignedInt(0:7)[8:8]()</td>
<td>W</td>
<td>Comma-separated list (8 items) (length ) of unsigned integers (0 to 7). List items represent service access priority translation values for each ingress priority on this <a href="#D.Device:2.Device.Bridging.Bridge.Port."><em>Port</em></a> as described in [<a href="#R.802.1Q-2011">Section 6.13/802.1Q-2011</a>]. The parameter is applicable to deployments of <a href="#D.Device:2.Device.Bridging.Bridge."><em>Bridge</em></a> instances that are referenced by <strong>{{param: non-existent <span class="inserted">###.Bridging.ProviderBridge.{i}.SVLANcomponent</span>}}</strong>.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>8:8</a></em> list size</li></ul></div></td>
<td>0,1,2,3,4,5,6,7</td>
<td>2.7</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Bridging.Bridge.Port.PriorityCodePoint.">Device.Bridging.Bridge.{i}.Port.{i}.PriorityCodePoint.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td><em>PriorityCodePoint</em> provides the management control for the processing of the Priority Code Point (PCP) field for the 802.1Q header as defined in [<a href="#R.802.1Q-2011">Section 6.9.3 Priority Code Point Encoding/802.1Q-2011</a>]. The object is applicable to deployments of <a href="#D.Device:2.Device.Bridging.ProviderBridge."><em>Bridging.ProviderBridge</em></a> where the <a href="#D.Device:2.Device.Bridging.Bridge."><em>Bridge</em></a> instance is referenced by <strong>{{param: non-existent <span class="inserted">####.Bridging.ProviderBridge.{i}.SVLANcomponent</span>}}</strong> or <strong>{{param: non-existent <span class="inserted">####.Bridging.ProviderBridge.{i}.CVLANcomponents</span>}}</strong> parameters.</td>
<td>-</td>
<td>2.7</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Bridging.Bridge.Port.PriorityCodePoint.PCPEncoding">PCPEncoding</span></td>
<td>string(31)[4:4]()</td>
<td>W</td>
<td><p>Comma-separated list (4 items) (length ) of strings (length 31). This parameter provides the management control for the processing of the encoding of the Priority Code Point (PCP) field for the 802.1Q header as defined in [<a href="#R.802.1Q-2011">Section 6.9.3 Priority Code Point Encoding/802.1Q-2011</a>] and [<a href="#R.802.1Q-2011">Table 6-3/802.1Q-2011</a>].
The list is an ordered list that contains entries for the following 4 PCP Values: &ldquo;8P0D&rdquo;,&ldquo;7P1D&rdquo;, &ldquo;6P2D&rdquo; &ldquo;5P3D&rdquo;. Each list entry matches the following pattern:</p>

<p>Each list item matches one of:</p>

<ul>
<li><span id="D.Device:2.Device.Bridging.Bridge.Port.PriorityCodePoint.PCPEncoding.0-7150-7"><code>([0-7],){15}[0-7]</code></span> (PCP for each priority and drop_eligible field (7, 7DE, 6, 6DE, …, 1, 1DE, 0, 0DE))
The value of this parameter MUST use square brackets to protect comma separators within nested lists. For example, this corresponds to Table 6-3 (mentioned above):</li></ul>

<blockquote>[7,7,6,6,5,5,4,4,3,3,2,2,1,1,0,0],[7,7,6,6,5,4,5,4,3,3,2,2,1,1,0,0],[7,7,6,6,5,4,5,4,3,2,3,2,1,1,0,0],[7,7,6,6,5,4,5,4,3,2,3,2,1,0,1,0]</blockquote>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Changed list = <em>[4:4]</em> -&gt; <em><a>4:4</a></em></li></ul></div></td>
<td>-</td>
<td>2.7</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Bridging.Bridge.Port.PriorityCodePoint.PCPDecoding">PCPDecoding</span></td>
<td>string(15)[4:4]()</td>
<td>W</td>
<td><p>Comma-separated list (4 items) (length ) of strings (length 15). This parameter provides the management control for the processing of the decoding of the Priority Code Point (PCP) field for the 802.1Q header as defined in [<a href="#R.802.1Q-2011">Section 6.9.3 Priority Code Point Encoding/802.1Q-2011</a>] and [<a href="#R.802.1Q-2011">Table 6-4/802.1Q-2011</a>].
The list is an ordered list that contains entries for the following 4 PCP Values: &ldquo;8P0D&rdquo;,&ldquo;7P1D&rdquo;, &ldquo;6P2D&rdquo; &ldquo;5P3D&rdquo;. Each list entry matches the following pattern:</p>

<p>Each list item matches one of:</p>

<ul>
<li><span id="D.Device:2.Device.Bridging.Bridge.Port.PriorityCodePoint.PCPDecoding.0-70-170-70-1"><code>([0-7],[0-1],){7}[0-7],[0-1]</code></span> (Priority (0-7) and drop_eligible field (0-1) for each PCP value (7, 6, …, 1, 0))
The value of this parameter MUST use square brackets to protect comma separators within nested lists. For example, this corresponds to Table 6-4 (mentioned above):</li></ul>

<blockquote>[7,0,6,0,5,0,4,0,3,0,2,0,1,0,0,0],[7,0,6,0,4,0,4,1,3,0,2,0,1,0,0,0],[7,0,6,0,4,0,4,1,2,0,2,1,1,0,0,0],[7,0,6,0,4,0,4,1,2,0,2,1,0,0,0,1]</blockquote>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Changed list = <em>[4:4]</em> -&gt; <em><a>4:4</a></em></li></ul></div></td>
<td>-</td>
<td>2.7</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Bridging.Bridge.VLAN.">Device.Bridging.Bridge.{i}.VLAN.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Bridge VLAN table. If this table is supported, if MUST contain an entry for each VLAN known to the Bridge.
This table only applies to an 802.1Q [<a href="#R.802.1Q-2011">802.1Q-2011</a>] Bridge.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.Bridging.Bridge.VLAN.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.Bridging.Bridge.VLAN.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.Bridging.Bridge.VLAN.VLANID"><em>VLANID</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Bridging.Bridge.VLAN.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Bridging.Bridge.VLANPort.">Device.Bridging.Bridge.{i}.VLANPort.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Bridge VLAN egress port and untagged port membership table.
This table only applies to an 802.1Q [<a href="#R.802.1Q-2011">802.1Q-2011</a>] Bridge.
Note: The <em>VLANPort</em> table includes unique key parameters that are strong references. If a strongly referenced object is deleted, the CPE will set the referencing parameter to an empty string. However, doing so under these circumstances might cause the updated <em>VLANPort</em> row to then violate the table’s unique key constraint; if this occurs, the CPE MUST disable the offending <em>VLANPort</em> row.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.Bridging.Bridge.VLANPort.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.Bridging.Bridge.VLANPort.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with the same values for both <a href="#D.Device:2.Device.Bridging.Bridge.VLANPort.VLAN"><em>VLAN</em></a> and <a href="#D.Device:2.Device.Bridging.Bridge.VLANPort.Port"><em>Port</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Bridging.Bridge.VLANPort.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Bridging.Filter.">Device.Bridging.Filter.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Filter table containing classification filter entries, each of which expresses a set of classification criterion to classify ingress frames as member of a <a href="#D.Device:2.Device.Bridging.Bridge."><em>Bridge</em></a> instance or a <a href="#D.Device:2.Device.Bridging.Bridge.VLAN."><em>Bridge.{i}.VLAN</em></a> instance.
Bridge VLAN classification only applies for 802.1Q [<a href="#R.802.1Q-2011">802.1Q-2011</a>] Bridges.
For enabled table entries, if <a href="#D.Device:2.Device.Bridging.Filter.Bridge"><em>Bridge</em></a> or <a href="#D.Device:2.Device.Bridging.Filter.Interface"><em>Interface</em></a> is an empty string then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.Bridging.Filter.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.Bridging.Filter.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.
Several of this object’s parameters specify DHCP option values. Some cases are version neutral (the parameter can apply to both DHCPv4 and DHCPv6), but in other cases the representation of the option is different for DHCPv4 and DHCPv6, so it is necessary to define separate DHCPv4-specific and DHCPv6-specific parameters. Therefore, an instance of this object that uses DHCP option values as filter criteria will be associated with either DHCPv4 or DHCPv6, as indicated by the <a href="#D.Device:2.Device.Bridging.Filter.DHCPType"><em>DHCPType</em></a> parameter.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.Bridging.Filter.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.Bridging.Filter.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Bridging.Filter.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Bridging.ProviderBridge.">Device.Bridging.ProviderBridge.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Provider Bridge table.
A Provider Bridge is described in [<a href="#R.802.1Q-2011">Section 5.10 Provider Bridge conformance/802.1Q-2011</a>] as an entity that is comprised of one S-VLAN component and zero or more C-VLAN components. S-VLAN and C-VLAN components are modelled as instances of <a href="#D.Device:2.Device.Bridging.Bridge."><em>Bridge</em></a> objects.
When <a href="#D.Device:2.Device.Bridging.ProviderBridge.Type"><em>Type</em></a> is configured with value of <a href="#D.Device:2.Device.Bridging.ProviderBridge.Type.PE"><em>PE</em></a> VLAN tags from the S-VLAN component (outer of 2 VLAN tags) are stacked on top of the VLAN tag from the C-VLAN component (inner of 2 VLAN tags).
When <a href="#D.Device:2.Device.Bridging.ProviderBridge.Type"><em>Type</em></a> is configured with value of <a href="#D.Device:2.Device.Bridging.ProviderBridge.Type.S-VLAN"><em>S-VLAN</em></a> only VLAN tags from the S-VLAN component are utilized.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.Bridging.ProviderBridge.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.Bridging.ProviderBridge.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <strong>{{param: non-existent SVLANComponent
:::</strong> parameter</li>
<li>Changed parameter = <strong>{{param: non-existent CVLANComponents</strong> -&gt; <a href="#D.Device:2.Device.Bridging.ProviderBridge.SVLANcomponent"><em>SVLANcomponent</em></a></li>
<li>Added <a href="#D.Device:2.Device.Bridging.ProviderBridge.CVLANcomponents"><em>CVLANcomponents</em></a> parameter}}}}</li></ul></div></td>
<td>-</td>
<td>2.7</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Bridging.ProviderBridge.Status">Status</span></td>
<td>string</td>
<td>R</td>
<td><p>The status of this <a href="#D.Device:2.Device.Bridging.ProviderBridge."><em>ProviderBridge</em></a>. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.Bridging.ProviderBridge.Status.Disabled"><em>Disabled</em></span></li>
<li><span id="D.Device:2.Device.Bridging.ProviderBridge.Status.Enabled"><em>Enabled</em></span></li>
<li><span id="D.Device:2.Device.Bridging.ProviderBridge.Status.Error_Misconfigured"><em>Error_Misconfigured</em></span></li>
<li><span id="D.Device:2.Device.Bridging.ProviderBridge.Status.Error"><em>Error</em></span> (OPTIONAL)
The <a href="#D.Device:2.Device.Bridging.ProviderBridge.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a> value indicates that a necessary configuration value is undefined or invalid. For example when the <a href="#D.Device:2.Device.Bridging.ProviderBridge.Type"><em>Type</em></a> is configured with value of <a href="#D.Device:2.Device.Bridging.ProviderBridge.Type.PE"><em>PE</em></a> but <strong>{{param: non-existent <span class="inserted">CVLANcomponents</span>}}</strong> is an empty string. The <a href="#D.Device:2.Device.Bridging.ProviderBridge.Status.Error"><em>Error</em></a> value MAY be used by the CPE to indicate a locally defined error condition.</li></ul></td>
<td>Disabled</td>
<td>2.7</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Bridging.ProviderBridge.SVLANcomponent">SVLANcomponent</span></td>
<td>string(:256)</td>
<td>W</td>
<td>The value MUST be the Path Name of a <a href="#D.Device:2.Device.Bridging.Bridge."><em>Bridge</em></a> instance that specifies the S-VLAN component for the <a href="#D.Device:2.Device.Bridging.ProviderBridge."><em>ProviderBridge</em></a>. If the referenced object is deleted, the parameter value MUST be set to an empty string.</td>
<td><em>&lt;Empty&gt;</em></td>
<td>2.7</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Bridging.ProviderBridge.CVLANcomponents">CVLANcomponents</span></td>
<td>string(:256)[]</td>
<td>W</td>
<td>Comma-separated list of strings (maximum number of characters per item 256). Each list item MUST be the Path Name of a <a href="#D.Device:2.Device.Bridging.Bridge."><em>Bridge</em></a> instance that specifies a C-VLAN component for the <a href="#D.Device:2.Device.Bridging.ProviderBridge."><em>ProviderBridge</em></a>. If the referenced object is deleted, the corresponding item MUST be removed from the list.</td>
<td><em>&lt;Empty&gt;</em></td>
<td>2.7</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.PPP.">Device.PPP.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Point-to-Point Protocol [<a href="#R.RFC1661">RFC1661</a>]. This object contains the <a href="#D.Device:2.Device.PPP.Interface."><em>Interface</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.PPP.Interface.">Device.PPP.Interface.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>PPP interface table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]).</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.PPP.Interface.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.PPP.Interface.Name"><em>Name</em></a>. On creation of a new table entry, the Agent MUST choose initial values for <a href="#D.Device:2.Device.PPP.Interface.Alias"><em>Alias</em></a> and <a href="#D.Device:2.Device.PPP.Interface.Name"><em>Name</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.PPP.Interface.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.PPP.Interface.Reset">Reset</span></td>
<td>boolean</td>
<td>W</td>
<td>When set to <em>true</em>, the device MUST tear down the existing PPP connection represented by this object and establish a new one.
The device MUST initiate the reset after completion of the current CWMP session. The device MAY delay resetting the connection in order to avoid interruption of a user service such as an ongoing voice call.
Reset on a disabled interface is a no-op (not an error).

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>boolean</em> syntax hidden = <em>true</em></li></ul></div></td>
<td>false</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.PPP.Interface.PPPoE.">Device.PPP.Interface.{i}.PPPoE.</span></td>
<td><span title="object(0:1)">object(0:1)</span></td>
<td>R</td>
<td><p>PPPoE object that functionally groups PPPoE related parameters.<span class="inserted"> PPPoE is only applicable when the lower layer provides Ethernet frames, e.g. ATM with EoA, PTM, or anything else that supports an Ethernet MAC.</span></p>

<p>This object is a member of a union, i.e., it is a member of a group of objects of which only one can exist at a given time.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.PPP.Interface.IPCP.">Device.PPP.Interface.{i}.IPCP.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>IP Control Protocol (IPCP) client object for this PPP interface [<a href="#R.RFC1332">RFC1332</a>]. <em>IPCP</em> only applies to IPv4.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.PPP.Interface.IPCP.DNSServers">DNSServers</span></td>
<td><span title="IPv4Address[:2]()">string(:45)[:2]()</span></td>
<td>R</td>
<td>[<a href="#T.IPv4Address">IPv4Address</a>] Comma-separated list (up to 2 items) (length ) of IPv4Addresses. Items represent DNS Server IPv4 address(es) received via IPCP [<a href="#R.RFC1877">RFC1877</a>].

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:2</a></em> list size</li></ul></div></td>
<td><em>&lt;Empty&gt;</em></td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.PPP.Interface.PPPoA.">Device.PPP.Interface.{i}.PPPoA.</span></td>
<td><span title="object(0:1)">object(0:1)</span></td>
<td>R</td>
<td><p>PPPoA object that functionally groups PPPoA related parameters.<span class="inserted"> This object is OBSOLETED because it contains no standard parameters and its existence causes confusion.</span></p>

<p>This object is a member of a union, i.e., it is a member of a group of objects of which only one can exist at a given time.</p></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IP.">Device.IP.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>IP object that contains the <a href="#D.Device:2.Device.IP.Interface."><em>Interface</em></a>, <a href="#D.Device:2.Device.IP.ActivePort."><em>ActivePort</em></a>, and <a href="#D.Device:2.Device.IP.Diagnostics."><em>Diagnostics</em></a> objects.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IP.Interface.">Device.IP.Interface.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>IP interface table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]). This table models the layer 3 IP interface.</p>

<p><span class="inserted"> </span>Each IP interface can be attached to the IPv4 and/or IPv6 stack. The interface’s IP addresses and prefixes are listed in the <a href="#D.Device:2.Device.IP.Interface.IPv4Address."><em>IPv4Address</em></a>, <a href="#D.Device:2.Device.IP.Interface.IPv6Address."><em>IPv6Address</em></a> and <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix."><em>IPv6Prefix</em></a> tables. Note that support for manipulating <a href="#D.Device:2.Device.IP.Interface.Loopback"><em>Loopback</em></a> interfaces is OPTIONAL, so the implementation MAY choose not to create (or allow the ACS to create) <em>Interface</em> instances of type <a href="#D.Device:2.Device.IP.Interface.Type.Loopback"><em>Loopback</em></a>. When the ACS administratively disables the interface, i.e. sets <a href="#D.Device:2.Device.IP.Interface.Enable"><em>Enable</em></a> to <em>false</em>, the interface’s automatically-assigned IP addresses and prefixes MAY be retained. When the ACS administratively enables the interface, i.e. sets <a href="#D.Device:2.Device.IP.Interface.Enable"><em>Enable</em></a> to <em>true</em>, these IP addresses and prefixes MUST be refreshed. It’s up to the implementation to decide exactly what this means: it SHOULD take all reasonable steps to refresh everything but if it is unable, for example, to refresh a prefix that still has a significant lifetime, it might well choose to retain rather than discard it.</p>

<p><span class="inserted"> </span>Any <a href="#D.Device:2.Device.IP.Interface.Type.Tunneled"><em>Tunneled</em></a> IP interface instances instantiated by the CPE MUST NOT have any statistics, writable parameters, IP addresses or IPv6 prefixes. Any read-only parameters, e.g. <a href="#D.Device:2.Device.IP.Interface.Status"><em>Status</em></a>, MUST return the same information as for the corresponding <a href="#D.Device:2.Device.IP.Interface.Type.Tunnel"><em>Tunnel</em></a> interface. The reason for these rules is that <a href="#D.Device:2.Device.IP.Interface.Type.Tunneled"><em>Tunneled</em></a> IP interfaces exist only in order to be the targets of references (within the data model) and do not model any concepts over and above those already modeled by the <a href="#D.Device:2.Device.IP.Interface.Type.Tunnel"><em>Tunnel</em></a> IP interfaces.</p>

<p><span class="inserted"> </span>Note that <a href="#D.Device:2.Device.IP.Interface.Type.Tunnel"><em>Tunnel</em></a> and <a href="#D.Device:2.Device.IP.Interface.Type.Tunneled"><em>Tunneled</em></a> IP interfaces are part of a legacy mechanism that is only used for <a href="#D.Device:2.Device.IPv6rd."><em>IPv6rd</em></a>, <a href="#D.Device:2.Device.DSLite."><em>DSLite</em></a> and <a href="#D.Device:2.Device.IPsec."><em>IPsec</em></a> tunnels and MUST NOT be used in any other context. For all other tunneling mechanisms <a href="#D.Device:2.Device.IP.Interface.Type.Normal"><em>Normal</em></a> IP interfaces are stacked above technology-specific Tunnel Interfaces, e.g. above <a href="#D.Device:2.Device.GRE.Tunnel.Interface."><em>GRE.Tunnel.{i}.Interface</em></a> or <a href="#D.Device:2.Device.MAP.Domain.Interface."><em>MAP.Domain.{i}.Interface</em></a> objects.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.IP.Interface.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.IP.Interface.Name"><em>Name</em></a>. On creation of a new table entry, the Agent MUST choose initial values for <a href="#D.Device:2.Device.IP.Interface.Alias"><em>Alias</em></a> and <a href="#D.Device:2.Device.IP.Interface.Name"><em>Name</em></a> such that the new entry does not conflict with any existing entries.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.IP.Interface.TWAMPReflectorNumberOfEntries"><em>TWAMPReflectorNumberOfEntries</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.IP.Interface.TWAMPReflector."><em>TWAMPReflector.{i}.</em></a> object</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IP.Interface.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IP.Interface.Reset">Reset</span></td>
<td>boolean</td>
<td>W</td>
<td>When set to <em>true</em>, the device MUST tear down the existing IP connection represented by this object and establish a new one.
The device MUST initiate the reset after completion of the current CWMP session. The device MAY delay resetting the connection in order to avoid interruption of a user service such as an ongoing voice call.
Reset on a disabled interface is a no-op (not an error).

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>boolean</em> syntax hidden = <em>true</em></li></ul></div></td>
<td>false</td>
<td>2.0</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Interface.TWAMPReflectorNumberOfEntries">TWAMPReflectorNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.IP.Interface.TWAMPReflector."><em>TWAMPReflector</em></a> table.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IP.Interface.IPv4Address.">Device.IP.Interface.{i}.IPv4Address.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>IPv4 address table. Entries are auto-created and auto-deleted as IP addresses are added and deleted via DHCP, auto-IP, or IPCP. Static entries are created and configured by the ACS.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.IP.Interface.IPv4Address.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.IP.Interface.IPv4Address.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with the same values for both <a href="#D.Device:2.Device.IP.Interface.IPv4Address.IPAddress"><em>IPAddress</em></a> and <a href="#D.Device:2.Device.IP.Interface.IPv4Address.SubnetMask"><em>SubnetMask</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IP.Interface.IPv4Address.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.
This parameter can only be modified if <a href="#D.Device:2.Device.IP.Interface.IPv4Address.AddressingType"><em>AddressingType</em></a> is <a href="#D.Device:2.Device.IP.Interface.IPv4Address.AddressingType.Static"><em>Static</em></a>.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.IP.Interface.TWAMPReflector.">Device.IP.Interface.{i}.TWAMPReflector.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This object contains parameters associated with the configuration that permits this interface to be used as Two-Way Active Measurement Protocol (TWAMP) reflector as defined in [<a href="#R.TR-390">TR-390</a>].</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.IP.Interface.TWAMPReflector.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.IP.Interface.TWAMPReflector.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.IP.Interface.TWAMPReflector.Port"><em>Port</em></a>.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Interface.TWAMPReflector.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables the TWAMP reflector.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Interface.TWAMPReflector.Status">Status</span></td>
<td>string</td>
<td>R</td>
<td><p>The current operational state of the TWAMP reflector.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.IP.Interface.TWAMPReflector.Status.Disabled"><em>Disabled</em></span></li>
<li><span id="D.Device:2.Device.IP.Interface.TWAMPReflector.Status.Active"><em>Active</em></span></li>
<li><span id="D.Device:2.Device.IP.Interface.TWAMPReflector.Status.Error"><em>Error</em></span> (OPTIONAL)</li></ul></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Interface.TWAMPReflector.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Interface.TWAMPReflector.Port">Port</span></td>
<td>unsignedInt(:65535)</td>
<td>W</td>
<td>The port used to listen for the TWAMP test packets.</td>
<td>862</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Interface.TWAMPReflector.MaximumTTL">MaximumTTL</span></td>
<td>unsignedInt(1:255)</td>
<td>W</td>
<td>The maximum TTL of a received packet that this TWAMP reflector will reflect to the TWAMP controller.</td>
<td>1</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Interface.TWAMPReflector.IPAllowedList">IPAllowedList</span></td>
<td>string[](:255)</td>
<td>W</td>
<td>Comma-separated list (maximum number of characters 255) of strings. List items represent source IP addresses and subnets from which test packets MUST always be received. An empty string list will allow test packets to be received from any source IP address.
Each entry in the list MUST be either an IP address, or an IP prefix specified using Classless Inter-Domain Routing (CIDR) notation [<a href="#R.RFC4632">RFC4632</a>].
An IP prefix is specified as an IP address followed (with no intervening white space) by &ldquo;/n&rdquo;, where <em>n</em> (the prefix size) is an integer in the range 0-32 (for IPv4) or 0-128 (for IPv6) that indicates the number of (leftmost) &lsquo;1&rsquo; bits of the prefix.
IPv4 example:

<ul>
<li>1.2.3.4 specifies a single IPv4 address, and 1.2.3.4/24 specifies a class C subnet with subnet mask 255.255.255.0.</li>
<li>1.2.0.0/22 represents the 1024 IPv4 addresses from 1.2.0.0 to 1.2.3.255.
IPv6 example:</li>
<li>fec0::220:edff:fe6a:f76 specifies a single IPv6 address.</li>
<li>2001:edff:fe6a:f76::/64 represents the IPv6 addresses from 2001:edff:fe6a:f76:0:0:0:0 to 2001:edff:fe6a:f76:ffff:ffff:ffff:ffff.</li></ul></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.IP.Interface.TWAMPReflector.PortAllowedList">PortAllowedList</span></td>
<td>string[](:255)</td>
<td>W</td>
<td>Comma-separated list (maximum number of characters 255) of strings. List items represent source port ranges from which test packets MUST always be received. An empty string list will allow test packets to be received from any source port.
Each entry in the list MUST be either a port number or a range of port numbers separated by a hypen (-).
For example, an entry with the value: &lsquo;2-40&rsquo; accepts test packets from any allowed source IP addresses with a source port between 2 and 40 inclusive. An entry of &lsquo;3&rsquo; accepts test packets from allow source IP addresses with a port of 3.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IP.Interface.IPv6Address.">Device.IP.Interface.{i}.IPv6Address.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This table contains the IP interface’s IPv6 unicast addresses. There MUST be an entry for each such address, including anycast addresses.
There are several ways in which entries can be added to and deleted from this table, including:</p>

<ul>
<li>Automatically via SLAAC [<a href="#R.RFC4862">RFC4862</a>], which covers generation of link-local addresses (for all types of device) and global addresses (for non-router devices).</li>
<li>Automatically via DHCPv6 [<a href="#R.RFC3315">RFC3315</a>], which covers generation of any type of address (subject to the configured DHCP server policy).</li>
<li>Manually via a GUI or some other local management interface.</li>
<li>Manually via factory default configuration.</li>
<li>By the ACS.
This table MUST NOT include entries for the Subnet-Router anycast address [<a href="#R.RFC4291">Section 2.6.1/RFC4291</a>]. Such entries would be identical to others but with a zero interface identifier, and would add no value.
A loopback interface will always have address <em>::1</em> [<a href="#R.RFC4291">Section 2.5.3/RFC4291</a>] and MAY also have link-local address <em>fe80::1</em>.
This object is based on <em>ipAddressTable</em> from [<a href="#R.RFC4293">RFC4293</a>].</li></ul>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.IP.Interface.IPv6Address.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.IP.Interface.IPv6Address.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.IP.Interface.IPv6Address.IPAddress"><em>IPAddress</em></a>.</p></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IP.Interface.IPv6Address.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.
This parameter can only be modified if <a href="#D.Device:2.Device.IP.Interface.IPv6Address.Origin"><em>Origin</em></a> is <a href="#D.Device:2.Device.IP.Interface.IPv6Address.Origin.Static"><em>Static</em></a>.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IP.Interface.IPv6Prefix.">Device.IP.Interface.{i}.IPv6Prefix.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This table contains the interface’s IPv6 prefixes. There MUST be an entry for each such prefix, not only for prefixes learned from router advertisements.
There are several ways in which entries can be added to and deleted from this table, including:</p>

<ul>
<li>Automatically via [<a href="#R.RFC4861">RFC4861</a>] Router Advertisements. See also <a href="#D.Device:2.Device.RouterAdvertisement."><em>RouterAdvertisement</em></a>.</li>
<li>Automatically via DHCPv6 [<a href="#R.RFC3315">RFC3315</a>] prefix delegation [<a href="#R.RFC3633">RFC3633</a>]. See also <a href="#D.Device:2.Device.DHCPv6.Client."><em>DHCPv6.Client</em></a>.</li>
<li>Automatically via internal CPE logic, e.g. creation of child prefixes derived from a parent prefix.</li>
<li>Manually via a GUI or some other local management interface.</li>
<li>Manually via factory default configuration.</li>
<li>By the ACS.
The CPE MAY choose not to create <em>IPv6Prefix</em> entries for <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.Origin.WellKnown"><em>WellKnown</em></a> prefixes or for the ULA /48 prefix [<a href="#R.RFC4193">RFC4193</a>]. If an <em>IPv6Prefix</em> entry exists for the ULA /48 prefix, it MUST be on a downstream interface (i.e. an interface for which the physical layer interface object has <em>Upstream</em> = <em>false</em>).
This object is based on <em>ipAddressPrefixTable</em> from [<a href="#R.RFC4293">RFC4293</a>].</li></ul>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.Prefix"><em>Prefix</em></a>.</p></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IP.Interface.IPv6Prefix.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.
This parameter can only be modified if <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.Origin"><em>Origin</em></a> is <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.Origin.Static"><em>Static</em></a>.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IP.Diagnostics.">Device.IP.Diagnostics.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The IP Diagnostics object.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPPing.">Device.IP.Diagnostics.IPPing.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object provides access to an IP-layer ping test.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState">DiagnosticsState</span></td>
<td><span title="DiagnosticsState">string</span></td>
<td>W</td>
<td><p>[<a href="#T.DiagnosticsState">DiagnosticsState</a>] Indicates the availability of diagnostics data. Enumeration of:</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Error"><em>Error</em></span> (READONLY, OPTIONAL)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Error_CannotResolveHostName"><em>Error_CannotResolveHostName</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Error_NoRouteToHost"><em>Error_NoRouteToHost</em></span> (</li></ul>

<p>The CPE can not reach the requested Ping host address</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em>The CPE can not reach the requested Ping host address</em> description</li></ul></div>

<p>, READONLY)</p>

<ul>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Error_Internal"><em>Error_Internal</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Error_Other"><em>Error_Other</em></span> (READONLY)</li></ul>

<p>If the ACS sets the value of this parameter to <a href="#D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Requested"><em>Requested</em></a>, the
CPE MUST initiate the corresponding diagnostic test. When writing, the
only allowed values are <a href="#D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Requested"><em>Requested</em></a> and <a href="#D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Canceled"><em>Canceled</em></a>. To
ensure the use of the proper test parameters (the writable parameters in
this object), the test parameters MUST be set, and any errors or
inconsistencies in the test parameters MUST be detected, either prior to
or at the same time as (in the same SetParameterValues) setting this
parameter to <a href="#D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Requested"><em>Requested</em></a>.</p>

<p>When requested, the CPE SHOULD wait until after completion of the
communication session with the ACS before starting the diagnostic test.</p>

<p>When the test is completed, the value of this parameter MUST be either
<a href="#D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Complete"><em>Complete</em></a> (if the test completed successfully), or one of the
<em>Error</em> values listed above.</p>

<p>If the value of this parameter is anything other than <a href="#D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Complete"><em>Complete</em></a>,
the values of the results parameters for this test are indeterminate.</p>

<p>When the diagnostic initiated by the ACS is completed (successfully or
not), but not if it is canceled for any reason, the CPE MUST establish a
new connection to the ACS to allow the ACS to view the results,
indicating the Event code <em>8 DIAGNOSTICS COMPLETE</em> in the Inform
message.</p>

<p>After the diagnostic is complete, the value of all result parameters (all
read-only parameters in this object) MUST be retained by the CPE until
either this diagnostic is run again, or the CPE reboots. After a reboot,
if the CPE has not retained the result parameters from the most recent
test, it MUST set the value of this parameter to <a href="#D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.None"><em>None</em></a>.</p>

<p>Modifying any of the writable parameters in this object except for this
one MUST result in the value of this parameter being set to
<a href="#D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, modifying any of the writable parameters
in this object except for this one MUST result in the test being
terminated and the value of this parameter being set to <a href="#D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Requested"><em>Requested</em></a> (and possibly modifying other writable parameters in
this object) MUST result in the test being terminated and then restarted
using the current values of the test parameters.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Canceled"><em>Canceled</em></a> MUST result in the test being canceled and the value of
this parameter being set to <a href="#D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.None"><em>None</em></a>. If the CPE does not support
the <a href="#D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Canceled"><em>Canceled</em></a> value, it MUST return a SPV error with &ldquo;Invalid
Parameter value&rdquo; (9007) to the ACS instead.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Error"><em>Error</em></span> (READONLY, OPTIONAL)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Error_CannotResolveHostName"><em>Error_CannotResolveHostName</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Error_NoRouteToHost"><em>Error_NoRouteToHost</em></span> (</li></ul>

<p>The CPE can not reach the requested Ping host address</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em>The CPE can not reach the requested Ping host address</em> description</li></ul></div>

<p>, READONLY)</p>

<ul>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Error_Internal"><em>Error_Internal</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.IPPing.DiagnosticsState.Error_Other"><em>Error_Other</em></span> (READONLY)</li></ul>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.">Device.IP.Diagnostics.TraceRoute.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object defines access to an IP-layer trace-route test for the specified IP interface.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState">DiagnosticsState</span></td>
<td><span title="DiagnosticsState">string</span></td>
<td>W</td>
<td><p>[<a href="#T.DiagnosticsState">DiagnosticsState</a>] Indicates the availability of diagnostics data. Enumeration of:</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Error"><em>Error</em></span> (READONLY, OPTIONAL)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Error_CannotResolveHostName"><em>Error_CannotResolveHostName</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Error_NoRouteToHost"><em>Error_NoRouteToHost</em></span> (</li></ul>

<p>The CPE can not reach the requested TraceRoute host address</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em>The CPE can not reach the requested TraceRoute host address</em> description</li></ul></div>

<p>, READONLY)</p>

<ul>
<li><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Error_MaxHopCountExceeded"><em>Error_MaxHopCountExceeded</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Error_Internal"><em>Error_Internal</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Error_Other"><em>Error_Other</em></span> (READONLY)</li></ul>

<p>If the ACS sets the value of this parameter to <a href="#D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Requested"><em>Requested</em></a>, the
CPE MUST initiate the corresponding diagnostic test. When writing, the
only allowed values are <a href="#D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Requested"><em>Requested</em></a> and <a href="#D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Canceled"><em>Canceled</em></a>. To
ensure the use of the proper test parameters (the writable parameters in
this object), the test parameters MUST be set, and any errors or
inconsistencies in the test parameters MUST be detected, either prior to
or at the same time as (in the same SetParameterValues) setting this
parameter to <a href="#D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Requested"><em>Requested</em></a>.</p>

<p>When requested, the CPE SHOULD wait until after completion of the
communication session with the ACS before starting the diagnostic test.</p>

<p>When the test is completed, the value of this parameter MUST be either
<a href="#D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Complete"><em>Complete</em></a> (if the test completed successfully), or one of the
<em>Error</em> values listed above.</p>

<p>If the value of this parameter is anything other than <a href="#D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Complete"><em>Complete</em></a>,
the values of the results parameters for this test are indeterminate.</p>

<p>When the diagnostic initiated by the ACS is completed (successfully or
not), but not if it is canceled for any reason, the CPE MUST establish a
new connection to the ACS to allow the ACS to view the results,
indicating the Event code <em>8 DIAGNOSTICS COMPLETE</em> in the Inform
message.</p>

<p>After the diagnostic is complete, the value of all result parameters (all
read-only parameters in this object) MUST be retained by the CPE until
either this diagnostic is run again, or the CPE reboots. After a reboot,
if the CPE has not retained the result parameters from the most recent
test, it MUST set the value of this parameter to <a href="#D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.None"><em>None</em></a>.</p>

<p>Modifying any of the writable parameters in this object except for this
one MUST result in the value of this parameter being set to
<a href="#D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, modifying any of the writable parameters
in this object except for this one MUST result in the test being
terminated and the value of this parameter being set to <a href="#D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.None"><em>None</em></a>.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Requested"><em>Requested</em></a> (and possibly modifying other writable parameters in
this object) MUST result in the test being terminated and then restarted
using the current values of the test parameters.</p>

<p>While the test is in progress, setting this parameter to
<a href="#D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Canceled"><em>Canceled</em></a> MUST result in the test being canceled and the value of
this parameter being set to <a href="#D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.None"><em>None</em></a>. If the CPE does not support
the <a href="#D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Canceled"><em>Canceled</em></a> value, it MUST return a SPV error with &ldquo;Invalid
Parameter value&rdquo; (9007) to the ACS instead.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Canceled"><em>Canceled</em></span> (OPTIONAL)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Complete"><em>Complete</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Error"><em>Error</em></span> (READONLY, OPTIONAL)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Error_CannotResolveHostName"><em>Error_CannotResolveHostName</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Error_NoRouteToHost"><em>Error_NoRouteToHost</em></span> (</li></ul>

<p>The CPE can not reach the requested TraceRoute host address</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em>The CPE can not reach the requested TraceRoute host address</em> description</li></ul></div>

<p>, READONLY)</p>

<ul>
<li><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Error_MaxHopCountExceeded"><em>Error_MaxHopCountExceeded</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Error_Internal"><em>Error_Internal</em></span> (READONLY)</li>
<li><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.DiagnosticsState.Error_Other"><em>Error_Other</em></span> (READONLY)</li></ul>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.RouteHops.">Device.IP.Diagnostics.TraceRoute.RouteHops.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td>Contains the array of hop results returned. If a route could not be determined, this array will be empty</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IP.Diagnostics.TraceRoute.RouteHops.RTTimes">RTTimes</span></td>
<td>unsignedInt[1:3](:16)</td>
<td>R</td>
<td><p>Comma-separated list (1 to 3 items) (maximum number of characters 16) of unsigned integers. Each list item contains one or more round trip times in <em>milliseconds</em> (one for each repetition) for this hop.</p>

<p><span class="inserted"> </span>A list item of 0 indicates that the corresponding response was not received. Round trip times of less than 1 <em>milliseconds</em> MUST be rounded up to 1. The number of list entries is determined by the <span class="inserted">value of </span><strong>{{param: non-existent <span class="inserted">#.NumberOfTries</span>}}</strong><span class="removed"> parameter.</span><span class="inserted">.</span></p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>:16</em> size status = <em>deleted</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IP.Diagnostics.ServerSelectionDiagnostics.">Device.IP.Diagnostics.ServerSelectionDiagnostics.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object provides access to a diagnostics test that performs either an ICMP Ping or UDP Echo ping against multiple hosts determining which one has the smallest average response time. There MUST be a ping response to the transmitted ping, or timeout, before the next ping is sent out.</td>
<td>-</td>
<td>2.9</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IP.Diagnostics.ServerSelectionDiagnostics.HostList">HostList</span></td>
<td>string(:256)[:10]()</td>
<td>W</td>
<td>Comma-separated list (up to 10 items) (length ) of strings (maximum number of characters per item 256). Each entry is a Host name or address of a host to ping.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:10</a></em> list size</li></ul></div></td>
<td>-</td>
<td>2.9</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LLDP.">Device.LLDP.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains Link Layer Discovery Protocol (LLDP) [<a href="#R.802.1AB-2009">802.1AB-2009</a>] related objects and parameters.</td>
<td>-</td>
<td>2.8</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LLDP.Discovery.">Device.LLDP.Discovery.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object is used for managing the discovery of LLDP devices.
The CPE MAY, but need not, retain some or all of the information in this object across reboot.</td>
<td>-</td>
<td>2.8</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LLDP.Discovery.Device.">Device.LLDP.Discovery.Device.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This table contains information about discovered LLDP devices.</p>

<p>At most one entry in this table can exist with the same values for both <a href="#D.Device:2.Device.LLDP.Discovery.Device.ChassisIDSubtype"><em>ChassisIDSubtype</em></a> and <a href="#D.Device:2.Device.LLDP.Discovery.Device.ChassisID"><em>ChassisID</em></a>.</p></td>
<td>-</td>
<td>2.8</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LLDP.Discovery.Device.Port.">Device.LLDP.Discovery.Device.{i}.Port.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This table contains information about ports on discovered LLDP devices.</p>

<p>At most one entry in this table can exist with the same values for both <a href="#D.Device:2.Device.LLDP.Discovery.Device.Port.PortIDSubtype"><em>PortIDSubtype</em></a> and <a href="#D.Device:2.Device.LLDP.Discovery.Device.Port.PortID"><em>PortID</em></a>.</p></td>
<td>-</td>
<td>2.8</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LLDP.Discovery.Device.Port.MACAddressList">MACAddressList</span></td>
<td><span title="MACAddress[:255]()">string(:17)[:255]()</span></td>
<td>R</td>
<td>[<a href="#T.MACAddress">MACAddress</a>] Comma-separated list (up to 255 items) (length ) of MAC Addresses. The device’s MAC addresses, which are included in the value of the <em>LLDPDU’s</em> Organizationally Specific TLV (TLV Type = 127), or an empty string if no list of MAC addresses has been received.
The parameter is relevant when there is a LLDP device which has a MAC copy function and has two or more MAC addresses.
Note: It is assumed that it might be used for HTIP (Home-network Topology Identifying Protocol) [<a href="#R.JJ-300.00">JJ-300.00</a>] and [<a href="#R.G.9973">G.9973</a>]. In this case, the [<a href="#R.OUI">OUI</a>] in the third octet is E0271A (<em>TTC-OUI</em>) and the organizationally defined subtype in the sixth octet is 3 (<em>MAC Address List</em>).

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:255</a></em> list size</li></ul></div></td>
<td>-</td>
<td>2.8</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LLDP.Discovery.Device.Port.LinkInformation.">Device.LLDP.Discovery.Device.{i}.Port.{i}.LinkInformation.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The port’s link information, which is included in the value of the <em>LLDPDU’s</em> Organizationally Specific TLV (TLV Type = 127).
Note: It is assumed that this object might be used for HTIP (Home-network Topology Identifying Protocol) [<a href="#R.JJ-300.00">JJ-300.00</a>] and [<a href="#R.G.9973">G.9973</a>]. In this case, the [<a href="#R.OUI">OUI</a>] in the third octet is E0271A (<em>TTC-OUI</em>) and the organizationally defined subtype in the sixth octet is 2 (<em>Link Information</em>).</td>
<td>-</td>
<td>2.8</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LLDP.Discovery.Device.Port.LinkInformation.MACForwardingTable">MACForwardingTable</span></td>
<td><span title="MACAddress[:255]()">string(:17)[:255]()</span></td>
<td>R</td>
<td>[<a href="#T.MACAddress">MACAddress</a>] Comma-separated list (up to 255 items) (length ) of MAC Addresses. The port’s MAC forwarding table, or the value is an empty string if no forwarding table was supplied.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:255</a></em> list size</li></ul></div></td>
<td>-</td>
<td>2.8</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IPsec.">Device.IPsec.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>IPsec [<a href="#R.RFC4301">RFC4301</a>] object that supports the configuration of Encapsulating Security Payload (ESP) [<a href="#R.RFC4303">RFC4303</a>] and Authentication Header (AH) [<a href="#R.RFC4302">RFC4302</a>] in tunnel mode [<a href="#R.RFC4301">Section 3.2/RFC4301</a>].
Use of IKEv2 [<a href="#R.RFC5996">RFC5996</a>] is assumed. The IPsec object does not currently support static configuration of tunnels and child Security Associations (SAs).
See the IPsec Theory of Operation [<a href="#R.TR-181i2a5">Appendix IX/TR-181i2a5</a>] for a description of the working of this IPsec data model.</td>
<td>-</td>
<td>2.5</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IPsec.Profile.">Device.IPsec.Profile.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Profile table that represents the IPsec Security Policy Database (SPD) [<a href="#R.RFC4301">Section 4.4.1/RFC4301</a>] processing info. Each entry defines the IPsec treatment for packets that match the <a href="#D.Device:2.Device.IPsec.Filter."><em>Filter</em></a> entries that reference the entry.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.IPsec.Profile.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.IPsec.Profile.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.5</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IPsec.Profile.RemoteEndpoints">RemoteEndpoints</span></td>
<td>string(:64)[:4]()</td>
<td>W</td>
<td>Comma-separated list (up to 4 items) (length ) of strings (maximum number of characters per item 64). The host name or IP address of the remote IPsec tunnel endpoint. If more than one name/address is supplied, they will be tried in turn, i.e. they are in decreasing order of precedence.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:4</a></em> list size</li></ul></div></td>
<td>-</td>
<td>2.5</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.GRE.">Device.GRE.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains parameters associated with the Generic Routing Encapsulation (GRE) Tunnel ([<a href="#R.RFC2784">RFC2784</a>]) with Key and Sequence Number extensions ([<a href="#R.RFC2890">RFC2890</a>]). This object also provides a means to treat packets that are encapsulated within a GRE Tunnel by using a set of <a href="#D.Device:2.Device.GRE.Filter."><em>Filter</em></a> objects to determine the treatment of the packet.</td>
<td>-</td>
<td>2.8</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.GRE.Tunnel.">Device.GRE.Tunnel.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>GRE Tunnel table, models the GRE Tunnel instance and represents the entry point and exit point of the tunnel in relation to the WAN interface. A <em>Tunnel</em> object has one or more <a href="#D.Device:2.Device.GRE.Tunnel.Interface."><em>Interface</em></a> objects that further define the sessions or flows within the tunnel.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.GRE.Tunnel.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.GRE.Tunnel.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.8</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.GRE.Tunnel.RemoteEndpoints">RemoteEndpoints</span></td>
<td>string(:256)[:4]()</td>
<td>W</td>
<td>Comma-separated list (up to 4 items) (length ) of strings (maximum number of characters per item 256). The Fully Qualified Domain Name (FQDN) or IP address of the remote GRE tunnel endpoint. If more than one name/address is supplied, they will be tried in turn, i.e. they are in decreasing order of precedence.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:4</a></em> list size</li></ul></div></td>
<td>-</td>
<td>2.8</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.GRE.Filter.">Device.GRE.Filter.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>GRE Filter table. Entries in this table are applied against the packets that are to be encapsulated within the GRE Tunnel based on the following conditions: * If the value of the <a href="#D.Device:2.Device.GRE.Filter.AllInterfaces"><em>AllInterfaces</em></a> is <em>true</em>, then this entry will be applied to all <a href="#D.Device:2.Device.GRE.Tunnel."><em>Tunnel</em></a> and <a href="#D.Device:2.Device.GRE.Tunnel.Interface."><em>Tunnel.{i}.Interface</em></a> instances. * If the value of <a href="#D.Device:2.Device.GRE.Filter.AllInterfaces"><em>AllInterfaces</em></a> is <em>false</em> and the value of <a href="#D.Device:2.Device.GRE.Filter.Interface"><em>Interface</em></a> parameter is a reference to a row in the <a href="#D.Device:2.Device.GRE.Tunnel."><em>Tunnel</em></a> table then this entry is applied to all <a href="#D.Device:2.Device.GRE.Tunnel.Interface."><em>Tunnel.{i}.Interface</em></a> instances of the <a href="#D.Device:2.Device.GRE.Tunnel."><em>Tunnel</em></a> reference. * If the value of <a href="#D.Device:2.Device.GRE.Filter.AllInterfaces"><em>AllInterfaces</em></a> is <em>false</em> and the value of <a href="#D.Device:2.Device.GRE.Filter.Interface"><em>Interface</em></a> parameter is a reference to a row in the <a href="#D.Device:2.Device.GRE.Tunnel.Interface."><em>Tunnel.{i}.Interface</em></a> table then this entry is applied to the <a href="#D.Device:2.Device.GRE.Tunnel.Interface."><em>Tunnel.{i}.Interface</em></a> reference. * If no entries are matched for the packet, then the default treatment (e.g., <a href="#D.Device:2.Device.GRE.Tunnel.DefaultDSCPMark"><em>Tunnel.{i}.DefaultDSCPMark</em></a>) is applied to the packet.</p>

<p><span class="inserted"> </span>For enabled table entries, if <a href="#D.Device:2.Device.GRE.Filter.Interface"><em>Interface</em></a> is not a valid reference and <a href="#D.Device:2.Device.GRE.Filter.AllInterfaces"><em>AllInterfaces</em></a> is <em>false</em>, then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.GRE.Filter.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.GRE.Filter.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.GRE.Filter.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.GRE.Filter.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.8</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.GRE.Filter.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p><span class="removed">A non-volatile handle used to reference this instance. <em>Alias</em> provides a mechanism for an ACS to label this instance for future reference. An initial unique value MUST be assigned when the CPE creates an instance of this object.</span></p>

<div class="inserted"><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul></div>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li>
<li>Added <em>Alias</em></li></ul></div></td>
<td>-</td>
<td>2.8</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.L2TPv3.">Device.L2TPv3.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains parameters associated with the configuration and monitoring of stateless tunnels using the Layer Two Tunneling Protocol version 3 (L2TPv3) ([<a href="#R.RFC3931">RFC3931</a>]).
This object also provides a means to treat packets that are encapsulated within a L2TPv3 Tunnel by using a set of <a href="#D.Device:2.Device.L2TPv3.Filter."><em>Filter</em></a> objects to determine the treatment of the packet.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.TunnelNumberOfEntries">TunnelNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.L2TPv3.Tunnel."><em>Tunnel</em></a> table.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.FilterNumberOfEntries">FilterNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.L2TPv3.Filter."><em>Filter</em></a> table.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.">Device.L2TPv3.Tunnel.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>L2TPv3 Tunnel table, models the L2TPv3 Tunnel instance and represents the entry point and exit point of the tunnel in relation to the WAN interface.
A <em>Tunnel</em> object has one or more <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface."><em>Interface</em></a> objects that further define the sessions or flows within the tunnel.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.L2TPv3.Tunnel.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.L2TPv3.Tunnel.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables the tunnel.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Status">Status</span></td>
<td>string</td>
<td>R</td>
<td><p>The current operational state of the tunnel.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.L2TPv3.Tunnel.Status.Disabled"><em>Disabled</em></span></li>
<li><span id="D.Device:2.Device.L2TPv3.Tunnel.Status.Enabled"><em>Enabled</em></span></li>
<li><span id="D.Device:2.Device.L2TPv3.Tunnel.Status.Error"><em>Error</em></span> (OPTIONAL)</li></ul></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.RemoteEndpoints">RemoteEndpoints</span></td>
<td>string(:256)[:4]</td>
<td>W</td>
<td>Comma-separated list (up to 4 items) of strings (maximum number of characters per item 256). The Fully Qualified Domain Name (FQDN) or IP address of the remote L2TPv3 tunnel endpoint.
If more than one name/address is supplied, they will be tried in turn, i.e. they are in decreasing order of precedence.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.KeepAlivePolicy">KeepAlivePolicy</span></td>
<td>string</td>
<td>W</td>
<td><p>The mechanism used to keep the tunnel from timing out at the <a href="#D.Device:2.Device.L2TPv3.Tunnel.ConnectedRemoteEndpoint"><em>ConnectedRemoteEndpoint</em></a>.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.L2TPv3.Tunnel.KeepAlivePolicy.ICMP"><em>ICMP</em></span> (The version of the ICMP packet used for this <a href="#D.Device:2.Device.L2TPv3.Tunnel.KeepAlivePolicy"><em>KeepAlivePolicy</em></a> is based on the value of the <a href="#D.Device:2.Device.L2TPv3.Tunnel.DeliveryHeaderProtocol"><em>DeliveryHeaderProtocol</em></a> parameter (Either ICMP for IPv4 or ICMPv6 for IPv6))</li>
<li><span id="D.Device:2.Device.L2TPv3.Tunnel.KeepAlivePolicy.None"><em>None</em></span></li></ul></td>
<td>None</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.KeepAliveTimeout">KeepAliveTimeout</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>The tunnel keepalive timeout in <em>seconds</em>.</td>
<td>10</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.KeepAliveThreshold">KeepAliveThreshold</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>Number of KeepAlive messages unacknowledged by the <a href="#D.Device:2.Device.L2TPv3.Tunnel.ConnectedRemoteEndpoint"><em>ConnectedRemoteEndpoint</em></a> before the <a href="#D.Device:2.Device.L2TPv3.Tunnel."><em>Tunnel</em></a> is perceived failed.</td>
<td>3</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.DeliveryHeaderProtocol">DeliveryHeaderProtocol</span></td>
<td>string</td>
<td>W</td>
<td><p>The protocol used for the delivery header.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.L2TPv3.Tunnel.DeliveryHeaderProtocol.IPv4"><em>IPv4</em></span></li>
<li><span id="D.Device:2.Device.L2TPv3.Tunnel.DeliveryHeaderProtocol.IPv6"><em>IPv6</em></span></li></ul></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.DefaultDSCPMark">DefaultDSCPMark</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>If the specified entries in the <a href="#D.Device:2.Device.L2TPv3.Filter."><em>Filter</em></a> table do not match this <a href="#D.Device:2.Device.L2TPv3.Tunnel."><em>Tunnel</em></a> object or an instance of the <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface."><em>Interface</em></a> object for this <a href="#D.Device:2.Device.L2TPv3.Tunnel."><em>Tunnel</em></a> object, then the value of this parameter is applied to the delivery header of the packets in this <a href="#D.Device:2.Device.L2TPv3.Tunnel."><em>Tunnel</em></a>.</td>
<td>0</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.TunnelEncapsulation">TunnelEncapsulation</span></td>
<td>string</td>
<td>W</td>
<td><p>The protocol that this <a href="#D.Device:2.Device.L2TPv3.Tunnel."><em>Tunnel</em></a> will be encapsulated</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.L2TPv3.Tunnel.TunnelEncapsulation.IP"><em>IP</em></span></li>
<li><span id="D.Device:2.Device.L2TPv3.Tunnel.TunnelEncapsulation.UDP"><em>UDP</em></span></li></ul></td>
<td>IP</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.ConnectedRemoteEndpoint">ConnectedRemoteEndpoint</span></td>
<td>string(:256)</td>
<td>R</td>
<td>The Fully Qualified Domain Name (FQDN) name or IP address of the connected remote L2TPv3 tunnel endpoint.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.InterfaceNumberOfEntries">InterfaceNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface."><em>Interface</em></a> table.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.UDP.">Device.L2TPv3.Tunnel.{i}.UDP.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This <em>UDP</em> provides the parameters when the value of the <a href="#D.Device:2.Device.L2TPv3.Tunnel.TunnelEncapsulation"><em>Tunnel.{i}.TunnelEncapsulation</em></a> parameter is <a href="#D.Device:2.Device.L2TPv3.Tunnel.TunnelEncapsulation.UDP"><em>UDP</em></a>.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.UDP.SourcePort">SourcePort</span></td>
<td>unsignedInt(:65535)</td>
<td>W</td>
<td>The source (local) port used to transmit PDUs. A value of 0 indicates that the port selection is performed by the device.</td>
<td>1701</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.UDP.RemotePort">RemotePort</span></td>
<td>unsignedInt(:65535)</td>
<td>W</td>
<td>The remote port used to by the remote endpoint to transmit PDUs.</td>
<td>1701</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.UDP.EnableChecksum">EnableChecksum</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables checksum processing.</td>
<td>false</td>
<td>2.12</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Stats.">Device.L2TPv3.Tunnel.{i}.Stats.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Statistics for this L2TPv3 tunnel, i.e. all traffic that has passed through the tunnel.
The device MUST reset the tunnel’s Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the tunnel becomes operationally down due to a previous administrative down (i.e., Status parameter transitions to a disabled state after the tunnel has been disabled) or when the tunnel becomes administratively up (i.e. the Enable parameter transitioned from <em>false</em> to <em>true</em>).</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Stats.KeepAliveSent">KeepAliveSent</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of KeepAlive <em>messages</em> sent out the tunnel.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Stats.KeepAliveReceived">KeepAliveReceived</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of KeepAlive <em>messages</em> received by the tunnel.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Stats.BytesSent">BytesSent</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of <em>bytes</em> sent by the tunnel.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Stats.BytesReceived">BytesReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of <em>bytes</em> received by the tunnel.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Stats.PacketsSent">PacketsSent</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of <em>packets</em> sent by the tunnel.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Stats.PacketsReceived">PacketsReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of <em>packets</em> received by the tunnel.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Stats.ErrorsSent">ErrorsSent</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of <em>packets</em> discarded by the tunnel due to any error. This can include packets dropped due to a lack of transmit buffers.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Stats.ErrorsReceived">ErrorsReceived</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of <em>packets</em> received by the tunnel that contained errors preventing them from being delivered to a higher-layer protocol.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.">Device.L2TPv3.Tunnel.{i}.Interface.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>L2TPv3 Interface table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]).
The <em>Interface</em> object models the L2TPv3 Header as defined in [<a href="#R.RFC3931">RFC3931</a>] and the transport of L2 frames across over L2TPv3 as defined in [<a href="#R.RFC4719">RFC4719</a>].
The <em>Interface</em> object provides a way to discriminate how sessions or flows are encapsulated within the L2TPv3 Tunnel.
In addition the <em>Interface</em> object represents the entry point and exit point of the tunnel in relation to the LAN interface.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface.Name"><em>Name</em></a>. On creation of a new table entry, the Agent MUST choose initial values for <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface.Alias"><em>Alias</em></a> and <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface.Name"><em>Name</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables the interface.
This parameter is based on <em>ifAdminStatus</em> from [<a href="#R.RFC2863">RFC2863</a>].</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.Status">Status</span></td>
<td>string</td>
<td>R</td>
<td><p>The current operational state of the interface (see [<a href="#R.TR-181i2">Section 4.2.2/TR-181i2</a>]). Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.Status.Up"><em>Up</em></span></li>
<li><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.Status.Down"><em>Down</em></span></li>
<li><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.Status.Unknown"><em>Unknown</em></span></li>
<li><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.Status.Dormant"><em>Dormant</em></span></li>
<li><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.Status.NotPresent"><em>NotPresent</em></span></li>
<li><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.Status.LowerLayerDown"><em>LowerLayerDown</em></span></li>
<li><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.Status.Error"><em>Error</em></span> (OPTIONAL)
When <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface.Enable"><em>Enable</em></a> is <em>false</em> then <em>Status</em> SHOULD normally be <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface.Status.Down"><em>Down</em></a> (or <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface.Status.NotPresent"><em>NotPresent</em></a> or <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface.Status.Error"><em>Error</em></a> if there is a fault condition on the interface).
When <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface.Enable"><em>Enable</em></a> is changed to <em>true</em> then <em>Status</em> SHOULD change to <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface.Status.Up"><em>Up</em></a> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface.Status.Dormant"><em>Dormant</em></a> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface.Status.Up"><em>Up</em></a> if still operable when the expected actions have completed); it SHOULD change to <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface.Status.LowerLayerDown"><em>LowerLayerDown</em></a> if and only if the interface is prevented from entering the <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface.Status.Up"><em>Up</em></a> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface.Status.Error"><em>Error</em></a> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface.Status.NotPresent"><em>NotPresent</em></a> state if the interface has missing (typically hardware) components; it SHOULD change to <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface.Status.Unknown"><em>Unknown</em></a> if the state of the interface can not be determined for some reason.
This parameter is based on <em>ifOperStatus</em> from [<a href="#R.RFC2863">RFC2863</a>].</li></ul></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.Name">Name</span></td>
<td>string(:64)</td>
<td>R</td>
<td><p>The textual name of the interface as assigned by the CPE.</p>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.LastChange">LastChange</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>The accumulated time in <em>seconds</em> since the interface entered its current operational state.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.LowerLayers">LowerLayers</span></td>
<td>string[](:1024)</td>
<td>W</td>
<td>Comma-separated list (maximum number of characters 1024) of strings. Each list item MUST be the Path Name of an interface object that is stacked immediately below this interface object, or an empty string. See [<a href="#R.TR-181i2">Section 4.2.1/TR-181i2</a>].</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.SessionID">SessionID</span></td>
<td>int(-1,1:65535)</td>
<td>W</td>
<td>The unique Session ID to be used in the L2TPv3 header of the tunnel.
A Session ID with a value of -1 indicates that he CPE is to generate the session ids for this <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface."><em>Interface</em></a> instance.</td>
<td>1</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.CookiePolicy">CookiePolicy</span></td>
<td>string</td>
<td>W</td>
<td><p>The policy that defines how the Cookie is handled in this <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface."><em>Interface</em></a> instance.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.CookiePolicy.Disabled"><em>Disabled</em></span> (The device does not perform Cooking processing)</li>
<li><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.CookiePolicy.Configured"><em>Configured</em></span> (The value of the <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface.Cookie"><em>Cookie</em></a> parameter is transmitted in the L2TPv3 header)</li>
<li><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.CookiePolicy.Generated"><em>Generated</em></span> (The device generates the value of the Cookie transmitted in the L2TPv3 header)</li></ul></td>
<td>Configured</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.Cookie">Cookie</span></td>
<td>unsignedLong</td>
<td>W</td>
<td>The Cookie transmitted in the L2TPv3 header. The default is to set the Cookie to the device’s MAC address that is encoded in the low order 6 bytes.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.Stats.">Device.L2TPv3.Tunnel.{i}.Interface.{i}.Stats.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Statistics for this L2TPv3 tunnel interface, i.e. all traffic that has passed through the interface.
The device MUST reset the interface’s Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e., the interface’s Status parameter transitions to a down state after the interface has been disabled) or when the interface becomes administratively up (i.e. the Enable parameter transitioned from <em>false</em> to <em>true</em>).</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.Stats.BytesSent">BytesSent</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of <em>bytes</em> sent by this interface.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.Stats.BytesReceived">BytesReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of <em>bytes</em> received by this interface.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.Stats.PacketsSent">PacketsSent</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of <em>packets</em> sent by this interface.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.Stats.PacketsReceived">PacketsReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of <em>packets</em> received by this interface.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.Stats.ErrorsSent">ErrorsSent</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of <em>packets</em> discarded by this interface due to any error. This can include packets dropped due to a lack of transmit buffers.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.Stats.ErrorsReceived">ErrorsReceived</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of <em>packets</em> received by this interface that contained errors preventing them from being delivered to a higher-layer protocol.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.Stats.DiscardChecksumReceived">DiscardChecksumReceived</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of <em>packets</em> received by the tunnel interface that are discarded because of Checksum errors.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Tunnel.Interface.Stats.DiscardSequenceNumberReceived">DiscardSequenceNumberReceived</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of <em>packets</em> received by the tunnel interface that are discarded because of Sequence Number errors.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.L2TPv3.Filter.">Device.L2TPv3.Filter.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>L2TPv3 Filter table. Entries in this table are applied against the packets that are to be encapsulated within the L2TPv3 Tunnel based on the following conditions:</p>

<ul>
<li>If the value of the <a href="#D.Device:2.Device.L2TPv3.Filter.AllInterfaces"><em>AllInterfaces</em></a> is <em>true</em>, then this entry will be applied to all <a href="#D.Device:2.Device.L2TPv3.Tunnel."><em>Tunnel</em></a> and <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface."><em>Tunnel.{i}.Interface</em></a> instances.</li>
<li>If the value of <a href="#D.Device:2.Device.L2TPv3.Filter.AllInterfaces"><em>AllInterfaces</em></a> is <em>false</em> and the value of <a href="#D.Device:2.Device.L2TPv3.Filter.Interface"><em>Interface</em></a> parameter is a reference to a row in the <a href="#D.Device:2.Device.L2TPv3.Tunnel."><em>Tunnel</em></a> table then this entry is applied to all <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface."><em>Tunnel.{i}.Interface</em></a> instances of the <a href="#D.Device:2.Device.L2TPv3.Tunnel."><em>Tunnel</em></a> reference.</li>
<li>If the value of <a href="#D.Device:2.Device.L2TPv3.Filter.AllInterfaces"><em>AllInterfaces</em></a> is <em>false</em> and the value of <a href="#D.Device:2.Device.L2TPv3.Filter.Interface"><em>Interface</em></a> parameter is a reference to a row in the <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface."><em>Tunnel.{i}.Interface</em></a> table then this entry is applied to the <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface."><em>Tunnel.{i}.Interface</em></a> reference.</li>
<li>If no entries are matched for the packet, then the default treatment (e.g., <a href="#D.Device:2.Device.L2TPv3.Tunnel.DefaultDSCPMark"><em>Tunnel.{i}.DefaultDSCPMark</em></a>) is applied to the packet.</li></ul>

<p>For enabled table entries, if <a href="#D.Device:2.Device.L2TPv3.Filter.Interface"><em>Interface</em></a> is not a valid reference and <a href="#D.Device:2.Device.L2TPv3.Filter.AllInterfaces"><em>AllInterfaces</em></a> is <em>false</em>, then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.L2TPv3.Filter.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.L2TPv3.Filter.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.L2TPv3.Filter.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.L2TPv3.Filter.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Filter.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables this filter.</td>
<td>false</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Filter.Status">Status</span></td>
<td>string</td>
<td>R</td>
<td><p>The status of this filter. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.L2TPv3.Filter.Status.Disabled"><em>Disabled</em></span></li>
<li><span id="D.Device:2.Device.L2TPv3.Filter.Status.Enabled"><em>Enabled</em></span></li>
<li><span id="D.Device:2.Device.L2TPv3.Filter.Status.Error_Misconfigured"><em>Error_Misconfigured</em></span></li>
<li><span id="D.Device:2.Device.L2TPv3.Filter.Status.Error"><em>Error</em></span> (OPTIONAL)
The <a href="#D.Device:2.Device.L2TPv3.Filter.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a> value indicates that a necessary configuration value is undefined or invalid.
The <a href="#D.Device:2.Device.L2TPv3.Filter.Status.Error"><em>Error</em></a> value MAY be used by the CPE to indicate a locally defined error condition.</li></ul></td>
<td>Disabled</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Filter.Order">Order</span></td>
<td>unsignedInt(1:)</td>
<td>W</td>
<td>Position of the <a href="#D.Device:2.Device.L2TPv3.Filter."><em>Filter</em></a> entry in the order of precedence. A value of <em>1</em> indicates the first entry considered (highest precedence). For each packet, the highest ordered entry that matches the filter criteria is applied. All lower order entries are ignored.
When this value is modified, if the value matches that of an existing entry, the <em>Order</em> value for the existing entry and all lower <em>Order</em> entries is incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <em>Order</em> values to be compacted. When a value is changed, incrementing occurs before compaction.
The value of <em>Order</em> on creation of a <a href="#D.Device:2.Device.L2TPv3.Filter."><em>Filter</em></a> table entry MUST be one greater than the largest current value (initially assigned the lowest precedence).</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Filter.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Filter.Interface">Interface</span></td>
<td>string(:256)</td>
<td>W</td>
<td>Filter criterion. The value MUST be the Path Name of a row in the <a href="#D.Device:2.Device.L2TPv3.Tunnel."><em>Tunnel.</em></a> or <a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface."><em>Tunnel.{i}.Interface.</em></a> tables. If the referenced object is deleted, the parameter value MUST be set to an empty string.</td>
<td><em>&lt;Empty&gt;</em></td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Filter.AllInterfaces">AllInterfaces</span></td>
<td>boolean</td>
<td>W</td>
<td>Filter criterion. This specifies that all ingress L2TPv3 tunnel interfaces are associated with the entry. If <em>true</em>, the value of <a href="#D.Device:2.Device.L2TPv3.Filter.Interface"><em>Interface</em></a> is ignored since all ingress L2TPv3 tunnel interfaces are indicated.</td>
<td>false</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Filter.VLANIDCheck">VLANIDCheck</span></td>
<td>int(-1:)</td>
<td>W</td>
<td>Filter criterion.
Current outer Ethernet VLAN ID as defined in 802.1Q. A value of -1 indicates this criterion is not used for filtering.</td>
<td>-1</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Filter.VLANIDExclude">VLANIDExclude</span></td>
<td>boolean</td>
<td>W</td>
<td>If <em>false</em>, the filter includes only those packets that match the <a href="#D.Device:2.Device.L2TPv3.Filter.VLANIDCheck"><em>VLANIDCheck</em></a> entry, if specified.
If <em>true</em>, the filter includes all packets except those that match the <a href="#D.Device:2.Device.L2TPv3.Filter.VLANIDCheck"><em>VLANIDCheck</em></a> entry, if specified.</td>
<td>false</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.L2TPv3.Filter.DSCPMarkPolicy">DSCPMarkPolicy</span></td>
<td>int(-2:63)</td>
<td>W</td>
<td>DSCP with which to mark the outer IP header for traffic that is associated with the interface criterion.
Automatic DSCP marking behavior is a local matter to the device, possibly influenced by other Broadband Forum standards that it supports.

<ul>
<li>A value of -1 indicates copy from the upstream packet.</li>
<li>A value of -2 indicates automatic marking of DSCP.</li></ul></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.VXLAN.">Device.VXLAN.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains parameters associated with the configuration and monitoring of stateless tunnels using the Virtual eXtensible Local Area Network (VXLAN) ([<a href="#R.RFC7348">RFC7348</a>]).
This object also provides a means to treat packets that are encapsulated within a VXLAN Tunnel by using a set of <a href="#D.Device:2.Device.VXLAN.Filter."><em>Filter</em></a> objects to determine the treatment of the packet.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.TunnelNumberOfEntries">TunnelNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.VXLAN.Tunnel."><em>Tunnel</em></a> table.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.FilterNumberOfEntries">FilterNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.VXLAN.Filter."><em>Filter</em></a> table.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.">Device.VXLAN.Tunnel.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>VXLAN Tunnel table, models the VXLAN Tunnel instance and represents the entry point and exit point of the tunnel in relation to the WAN interface.
A <em>Tunnel</em> object has one or more <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface."><em>Interface</em></a> objects that further define the sessions or flows within the tunnel.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.VXLAN.Tunnel.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.VXLAN.Tunnel.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables the tunnel.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Status">Status</span></td>
<td>string</td>
<td>R</td>
<td><p>The current operational state of the tunnel.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.VXLAN.Tunnel.Status.Disabled"><em>Disabled</em></span></li>
<li><span id="D.Device:2.Device.VXLAN.Tunnel.Status.Enabled"><em>Enabled</em></span></li>
<li><span id="D.Device:2.Device.VXLAN.Tunnel.Status.Error"><em>Error</em></span> (OPTIONAL)</li></ul></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.RemoteEndpoints">RemoteEndpoints</span></td>
<td>string(:256)[:4]</td>
<td>W</td>
<td>Comma-separated list (up to 4 items) of strings (maximum number of characters per item 256). The Fully Qualified Domain Name (FQDN) or IP address of the remote VXLAN tunnel endpoint.
If more than one name/address is supplied, they will be tried in turn, i.e. they are in decreasing order of precedence.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.KeepAlivePolicy">KeepAlivePolicy</span></td>
<td>string</td>
<td>W</td>
<td><p>The mechanism used to keep the tunnel from timing out at the <a href="#D.Device:2.Device.VXLAN.Tunnel.ConnectedRemoteEndpoint"><em>ConnectedRemoteEndpoint</em></a>.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.VXLAN.Tunnel.KeepAlivePolicy.ICMP"><em>ICMP</em></span> (The version of the ICMP packet used for this <a href="#D.Device:2.Device.VXLAN.Tunnel.KeepAlivePolicy"><em>KeepAlivePolicy</em></a> is based on the value of the <a href="#D.Device:2.Device.VXLAN.Tunnel.DeliveryHeaderProtocol"><em>DeliveryHeaderProtocol</em></a> parameter (Either ICMP for IPv4 or ICMPv6 for IPv6))</li>
<li><span id="D.Device:2.Device.VXLAN.Tunnel.KeepAlivePolicy.None"><em>None</em></span></li></ul></td>
<td>None</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.KeepAliveTimeout">KeepAliveTimeout</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>The tunnel keepalive timeout in <em>seconds</em>.</td>
<td>10</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.KeepAliveThreshold">KeepAliveThreshold</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>Number of KeepAlive messages unacknowledged by the <a href="#D.Device:2.Device.VXLAN.Tunnel.ConnectedRemoteEndpoint"><em>ConnectedRemoteEndpoint</em></a> before the <a href="#D.Device:2.Device.VXLAN.Tunnel."><em>Tunnel</em></a> is perceived failed.</td>
<td>3</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.DeliveryHeaderProtocol">DeliveryHeaderProtocol</span></td>
<td>string</td>
<td>W</td>
<td><p>The protocol used for the delivery header.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.VXLAN.Tunnel.DeliveryHeaderProtocol.IPv4"><em>IPv4</em></span></li>
<li><span id="D.Device:2.Device.VXLAN.Tunnel.DeliveryHeaderProtocol.IPv6"><em>IPv6</em></span></li></ul></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.DefaultDSCPMark">DefaultDSCPMark</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>If the specified entries in the <a href="#D.Device:2.Device.VXLAN.Filter."><em>Filter</em></a> table do not match this <a href="#D.Device:2.Device.VXLAN.Tunnel."><em>Tunnel</em></a> object or an instance of the <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface."><em>Interface</em></a> object for this <a href="#D.Device:2.Device.VXLAN.Tunnel."><em>Tunnel</em></a> object, then the value of this parameter is applied to the delivery header of the packets in this <a href="#D.Device:2.Device.VXLAN.Tunnel."><em>Tunnel</em></a>.</td>
<td>0</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.ConnectedRemoteEndpoint">ConnectedRemoteEndpoint</span></td>
<td>string(:256)</td>
<td>R</td>
<td>The Fully Qualified Domain Name (FQDN) name or IP address of the connected remote VXLAN tunnel endpoint.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.InterfaceNumberOfEntries">InterfaceNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface."><em>Interface</em></a> table.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.SourcePort">SourcePort</span></td>
<td>unsignedInt(:65535)</td>
<td>W</td>
<td>The source (local) port used to transmit PDUs. A value of 0 indicates that the port selection is performed by the device. In such case, it is recommended that the UDP source port number be calculated using a hash of fields from the inner packet and that it is in the dynamic/private port range 49152-65535.</td>
<td>0</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.RemotePort">RemotePort</span></td>
<td>unsignedInt(:65535)</td>
<td>W</td>
<td>The remote port used to by the remote endpoint to transmit PDUs. The well-known port allocated by IANA is 4789, but it should be configurable.</td>
<td>4789</td>
<td>2.12</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Stats.">Device.VXLAN.Tunnel.{i}.Stats.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Statistics for this VXLAN tunnel, i.e. all traffic that has passed through the tunnel.
The device MUST reset the tunnel’s Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the tunnel becomes operationally down due to a previous administrative down (i.e., Status parameter transitions to a disabled state after the tunnel has been disabled) or when the tunnel becomes administratively up (i.e. the Enable parameter transitioned from <em>false</em> to <em>true</em>).</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Stats.KeepAliveSent">KeepAliveSent</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of KeepAlive <em>messages</em> sent out the tunnel.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Stats.KeepAliveReceived">KeepAliveReceived</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of KeepAlive <em>messages</em> received by the tunnel.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Stats.BytesSent">BytesSent</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of <em>bytes</em> sent by the tunnel.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Stats.BytesReceived">BytesReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of <em>bytes</em> received by the tunnel.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Stats.PacketsSent">PacketsSent</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of <em>packets</em> sent by the tunnel.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Stats.PacketsReceived">PacketsReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of <em>packets</em> received by the tunnel.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Stats.ErrorsSent">ErrorsSent</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of <em>packets</em> discarded by the tunnel due to any error. This can include packets dropped due to a lack of transmit buffers.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Stats.ErrorsReceived">ErrorsReceived</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of <em>packets</em> received by the tunnel that contained errors preventing them from being delivered to a higher-layer protocol.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.">Device.VXLAN.Tunnel.{i}.Interface.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>VXLAN Interface table (a stackable interface object as described in [<a href="#R.TR-181i2">Section 4.2/TR-181i2</a>]).
The <em>Interface</em> object models the VXLAN Header as defined in [<a href="#R.RFC7348">RFC7348</a>] for the transport of L2 frames across over VXLAN.
The <em>Interface</em> object provides a way to discriminate how multiple LAN segments are encapsulated within the VXLAN Tunnel.
In addition the <em>Interface</em> object represents the entry point and exit point of the tunnel in relation to the LAN interface.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface.Name"><em>Name</em></a>. On creation of a new table entry, the Agent MUST choose initial values for <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface.Alias"><em>Alias</em></a> and <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface.Name"><em>Name</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables the interface.
This parameter is based on <em>ifAdminStatus</em> from [<a href="#R.RFC2863">RFC2863</a>].</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.Status">Status</span></td>
<td>string</td>
<td>R</td>
<td><p>The current operational state of the interface (see [<a href="#R.TR-181i2">Section 4.2.2/TR-181i2</a>]). Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.Status.Up"><em>Up</em></span></li>
<li><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.Status.Down"><em>Down</em></span></li>
<li><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.Status.Unknown"><em>Unknown</em></span></li>
<li><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.Status.Dormant"><em>Dormant</em></span></li>
<li><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.Status.NotPresent"><em>NotPresent</em></span></li>
<li><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.Status.LowerLayerDown"><em>LowerLayerDown</em></span></li>
<li><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.Status.Error"><em>Error</em></span> (OPTIONAL)
When <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface.Enable"><em>Enable</em></a> is <em>false</em> then <em>Status</em> SHOULD normally be <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface.Status.Down"><em>Down</em></a> (or <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface.Status.NotPresent"><em>NotPresent</em></a> or <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface.Status.Error"><em>Error</em></a> if there is a fault condition on the interface).
When <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface.Enable"><em>Enable</em></a> is changed to <em>true</em> then <em>Status</em> SHOULD change to <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface.Status.Up"><em>Up</em></a> if and only if the interface is able to transmit and receive network traffic; it SHOULD change to <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface.Status.Dormant"><em>Dormant</em></a> if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface.Status.Up"><em>Up</em></a> if still operable when the expected actions have completed); it SHOULD change to <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface.Status.LowerLayerDown"><em>LowerLayerDown</em></a> if and only if the interface is prevented from entering the <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface.Status.Up"><em>Up</em></a> state because one or more of the interfaces beneath it is down; it SHOULD remain in the <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface.Status.Error"><em>Error</em></a> state if there is an error or other fault condition detected on the interface; it SHOULD remain in the <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface.Status.NotPresent"><em>NotPresent</em></a> state if the interface has missing (typically hardware) components; it SHOULD change to <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface.Status.Unknown"><em>Unknown</em></a> if the state of the interface can not be determined for some reason.
This parameter is based on <em>ifOperStatus</em> from [<a href="#R.RFC2863">RFC2863</a>].</li></ul></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.Name">Name</span></td>
<td>string(:64)</td>
<td>R</td>
<td><p>The textual name of the interface as assigned by the CPE.</p>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.LastChange">LastChange</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>The accumulated time in <em>seconds</em> since the interface entered its current operational state.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.LowerLayers">LowerLayers</span></td>
<td>string[](:1024)</td>
<td>W</td>
<td>Comma-separated list (maximum number of characters 1024) of strings. Each list item MUST be the Path Name of an interface object that is stacked immediately below this interface object, or an empty string. See [<a href="#R.TR-181i2">Section 4.2.1/TR-181i2</a>].</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.VNI">VNI</span></td>
<td>int(-1:16777215,0:16777215)</td>
<td>W</td>
<td>The unique Virtual Network Identifier (VNI) to be used in the VXLAN header of the tunnel.
A VNI with a value of -1 indicates that the CPE is to generate the VNI for this <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface."><em>Interface</em></a> instance.</td>
<td>1</td>
<td>2.12</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.Stats.">Device.VXLAN.Tunnel.{i}.Interface.{i}.Stats.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Statistics for this VXLAN tunnel interface, i.e. all traffic that has passed through the interface.
The device MUST reset the interface’s Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e., the interface’s Status parameter transitions to a down state after the interface has been disabled) or when the interface becomes administratively up (i.e. the Enable parameter transitioned from <em>false</em> to <em>true</em>).</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.Stats.BytesSent">BytesSent</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of <em>bytes</em> sent by this interface.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.Stats.BytesReceived">BytesReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of <em>bytes</em> received by this interface.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.Stats.PacketsSent">PacketsSent</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of <em>packets</em> sent by this interface.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.Stats.PacketsReceived">PacketsReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of <em>packets</em> received by this interface.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.Stats.ErrorsSent">ErrorsSent</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of <em>packets</em> discarded by this interface due to any error. This can include packets dropped due to a lack of transmit buffers.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.Stats.ErrorsReceived">ErrorsReceived</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of <em>packets</em> received by this interface that contained errors preventing them from being delivered to a higher-layer protocol.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.Stats.DiscardChecksumReceived">DiscardChecksumReceived</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of <em>packets</em> received by the tunnel interface that are discarded because of Checksum errors.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Tunnel.Interface.Stats.DiscardSequenceNumberReceived">DiscardSequenceNumberReceived</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of <em>packets</em> received by the tunnel interface that are discarded because of Sequence Number errors.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.VXLAN.Filter.">Device.VXLAN.Filter.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>VXLAN Filter table. Entries in this table are applied against the packets that are to be encapsulated within the VXLAN Tunnel based on the following conditions:</p>

<ul>
<li>If the value of the <a href="#D.Device:2.Device.VXLAN.Filter.AllInterfaces"><em>AllInterfaces</em></a> is <em>true</em>, then this entry will be applied to all <a href="#D.Device:2.Device.VXLAN.Tunnel."><em>Tunnel</em></a> and <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface."><em>Tunnel.{i}.Interface</em></a> instances.</li>
<li>If the value of <a href="#D.Device:2.Device.VXLAN.Filter.AllInterfaces"><em>AllInterfaces</em></a> is <em>false</em> and the value of <a href="#D.Device:2.Device.VXLAN.Filter.Interface"><em>Interface</em></a> parameter is a reference to a row in the <a href="#D.Device:2.Device.VXLAN.Tunnel."><em>Tunnel</em></a> table then this entry is applied to all <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface."><em>Tunnel.{i}.Interface</em></a> instances of the <a href="#D.Device:2.Device.VXLAN.Tunnel."><em>Tunnel</em></a> reference.</li>
<li>If the value of <a href="#D.Device:2.Device.VXLAN.Filter.AllInterfaces"><em>AllInterfaces</em></a> is <em>false</em> and the value of <a href="#D.Device:2.Device.VXLAN.Filter.Interface"><em>Interface</em></a> parameter is a reference to a row in the <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface."><em>Tunnel.{i}.Interface</em></a> table then this entry is applied to the <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface."><em>Tunnel.{i}.Interface</em></a> reference.</li>
<li>If no entries are matched for the packet, then the default treatment (e.g., <a href="#D.Device:2.Device.VXLAN.Tunnel.DefaultDSCPMark"><em>Tunnel.{i}.DefaultDSCPMark</em></a>) is applied to the packet.</li></ul>

<p>For enabled table entries, if <a href="#D.Device:2.Device.VXLAN.Filter.Interface"><em>Interface</em></a> is not a valid reference and <a href="#D.Device:2.Device.VXLAN.Filter.AllInterfaces"><em>AllInterfaces</em></a> is <em>false</em>, then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.VXLAN.Filter.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.VXLAN.Filter.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.VXLAN.Filter.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.VXLAN.Filter.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Filter.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables this filter.</td>
<td>false</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Filter.Status">Status</span></td>
<td>string</td>
<td>R</td>
<td><p>The status of this filter. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.VXLAN.Filter.Status.Disabled"><em>Disabled</em></span></li>
<li><span id="D.Device:2.Device.VXLAN.Filter.Status.Enabled"><em>Enabled</em></span></li>
<li><span id="D.Device:2.Device.VXLAN.Filter.Status.Error_Misconfigured"><em>Error_Misconfigured</em></span></li>
<li><span id="D.Device:2.Device.VXLAN.Filter.Status.Error"><em>Error</em></span> (OPTIONAL)
The <a href="#D.Device:2.Device.VXLAN.Filter.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a> value indicates that a necessary configuration value is undefined or invalid.
The <a href="#D.Device:2.Device.VXLAN.Filter.Status.Error"><em>Error</em></a> value MAY be used by the CPE to indicate a locally defined error condition.</li></ul></td>
<td>Disabled</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Filter.Order">Order</span></td>
<td>unsignedInt(1:)</td>
<td>W</td>
<td>Position of the <a href="#D.Device:2.Device.VXLAN.Filter."><em>Filter</em></a> entry in the order of precedence. A value of <em>1</em> indicates the first entry considered (highest precedence). For each packet, the highest ordered entry that matches the filter criteria is applied. All lower order entries are ignored.
When this value is modified, if the value matches that of an existing entry, the <em>Order</em> value for the existing entry and all lower <em>Order</em> entries is incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes <em>Order</em> values to be compacted. When a value is changed, incrementing occurs before compaction.
The value of <em>Order</em> on creation of a <a href="#D.Device:2.Device.VXLAN.Filter."><em>Filter</em></a> table entry MUST be one greater than the largest current value (initially assigned the lowest precedence).</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Filter.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Filter.Interface">Interface</span></td>
<td>string(:256)</td>
<td>W</td>
<td>Filter criterion. The value MUST be the Path Name of a row in the <a href="#D.Device:2.Device.VXLAN.Tunnel."><em>Tunnel.</em></a> or <a href="#D.Device:2.Device.VXLAN.Tunnel.Interface."><em>Tunnel.{i}.Interface.</em></a> tables. If the referenced object is deleted, the parameter value MUST be set to an empty string.</td>
<td><em>&lt;Empty&gt;</em></td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Filter.AllInterfaces">AllInterfaces</span></td>
<td>boolean</td>
<td>W</td>
<td>Filter criterion. This specifies that all ingress VXLAN tunnel interfaces are associated with the entry. If <em>true</em>, the value of <a href="#D.Device:2.Device.VXLAN.Filter.Interface"><em>Interface</em></a> is ignored since all ingress VXLAN tunnel interfaces are indicated.</td>
<td>false</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Filter.VLANIDCheck">VLANIDCheck</span></td>
<td>int(-1:)</td>
<td>W</td>
<td>Filter criterion.
Current outer Ethernet VLAN ID as defined in 802.1Q. A value of -1 indicates this criterion is not used for filtering.</td>
<td>-1</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Filter.VLANIDExclude">VLANIDExclude</span></td>
<td>boolean</td>
<td>W</td>
<td>If <em>false</em>, the filter includes only those packets that match the <a href="#D.Device:2.Device.VXLAN.Filter.VLANIDCheck"><em>VLANIDCheck</em></a> entry, if specified.
If <em>true</em>, the filter includes all packets except those that match the <a href="#D.Device:2.Device.VXLAN.Filter.VLANIDCheck"><em>VLANIDCheck</em></a> entry, if specified.</td>
<td>false</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.VXLAN.Filter.DSCPMarkPolicy">DSCPMarkPolicy</span></td>
<td>int(-2:63)</td>
<td>W</td>
<td>DSCP with which to mark the outer IP header for traffic that is associated with the interface criterion.
Automatic DSCP marking behavior is a local matter to the device, possibly influenced by other Broadband Forum standards that it supports.

<ul>
<li>A value of -1 indicates copy from the upstream packet.</li>
<li>A value of -2 indicates automatic marking of DSCP.</li></ul></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.MAP.">Device.MAP.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The Mapping of Address and Port (MAP) object [<a href="#R.RFC7597">RFC7597</a>] [<a href="#R.RFC7599">RFC7599</a>] [<a href="#R.RFC7598">RFC7598</a>]. This object applies only to gateway devices that support IPv4 on the LAN side, include a <a href="#D.Device:2.Device.NAT."><em>NAT</em></a>, and typically have only IPv6 connectivity on the WAN side.
See the MAP Theory of Operation [<a href="#R.TR-181i2a8">Appendix XV/TR-181i2a8</a>] for a description of the working of this MAP data model.</td>
<td>-</td>
<td>2.8</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.MAP.Domain.">Device.MAP.Domain.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>MAP domain settings [<a href="#R.RFC7597">RFC7597</a>] [<a href="#R.RFC7599">RFC7599</a>]. Each instance models a MAP domain.
MAP supports two transport modes, both of which use NAPT44 (modified to use a restricted port range):</p>

<ul>
<li>MAP-E (<a href="#D.Device:2.Device.MAP.Domain.TransportMode"><em>TransportMode</em></a> = <a href="#D.Device:2.Device.MAP.Domain.TransportMode.Encapsulation"><em>Encapsulation</em></a>) uses an IPv4-in-IPv6 tunnel.</li>
<li>MAP-T (<a href="#D.Device:2.Device.MAP.Domain.TransportMode"><em>TransportMode</em></a> = <a href="#D.Device:2.Device.MAP.Domain.TransportMode.Translation"><em>Translation</em></a>) uses stateless NAT64.
Note: There is an n:1 relationship between a MAP domain and the associated <a href="#D.Device:2.Device.MAP.Domain.WANInterface"><em>WANInterface</em></a>, i.e. in theory multiple MAP domains can be associated with a single WAN IP interface (each domain would have its own <em>End-user IPv6 prefix</em> and <em>MAP IPv6 address</em>).
Note: The <em>Domain</em> table includes unique key parameters that are strong references. If a strongly referenced object is deleted, the CPE will set the referencing parameter to an empty string. However, doing so under these circumstances might cause the updated <em>Domain</em> row to then violate the table’s unique key constraint; if this occurs, the CPE MUST set <a href="#D.Device:2.Device.MAP.Domain.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.MAP.Domain.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a> and disable the offending <em>Domain</em> row.</li></ul>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.MAP.Domain.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.MAP.Domain.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with the same values for both <a href="#D.Device:2.Device.MAP.Domain.WANInterface"><em>WANInterface</em></a> and <a href="#D.Device:2.Device.MAP.Domain.IPv6Prefix"><em>IPv6Prefix</em></a>.</p></td>
<td>-</td>
<td>2.8</td></tr>
<tr class="deprecated-parameter">
<td><span id="D.Device:2.Device.MAP.Domain.PSIDOffset">PSIDOffset</span></td>
<td>unsignedInt(0:15)</td>
<td>W</td>
<td><em>Port-set ID</em> (PSID) offset in <em>bits</em>. The number of Port-sets is 2^<em>PSIDOffset</em>. Corresponds to the [<a href="#R.RFC7598">RFC7598</a>] <em>S46_PORTPARAMS</em> (Port Parameters) option’s <em>offset</em> field.<span class="inserted"> This parameter is DEPRECATED because details changed between drafting this data model and the RFC being published. This parameter has been moved to the proper location within the <a href="#D.Device:2.Device.MAP.Domain.Rule."><em>Rule.{i}.</em></a> object.</span>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added status = <em>deprecated</em></li></ul></div></td>
<td>6</td>
<td>2.8</td></tr>
<tr class="deprecated-parameter">
<td><span id="D.Device:2.Device.MAP.Domain.PSIDLength">PSIDLength</span></td>
<td>unsignedInt(0:16)</td>
<td>W</td>
<td>The length in <em>bits</em> of the <em>Port-set id</em> (PSID) configured in the <a href="#D.Device:2.Device.MAP.Domain.PSID"><em>PSID</em></a> parameter. Corresponds to the [<a href="#R.RFC7598">RFC7598</a>] <em>S46_PORTPARAMS</em> (Port Parameters) option’s <em>PSID-len</em> field.<span class="inserted"> This parameter is DEPRECATED because details changed between drafting this data model and the RFC being published. This parameter has been moved to the proper location within the <a href="#D.Device:2.Device.MAP.Domain.Rule."><em>Rule.{i}.</em></a> object.</span>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added status = <em>deprecated</em></li></ul></div></td>
<td>0</td>
<td>2.8</td></tr>
<tr class="deprecated-parameter">
<td><span id="D.Device:2.Device.MAP.Domain.PSID">PSID</span></td>
<td>unsignedInt(0:65535)</td>
<td>W</td>
<td><em>Port-set ID</em> (PSID) to use in preference to the value extracted from the <em>Embedded Address</em> (EA) bits. Only the high order <a href="#D.Device:2.Device.MAP.Domain.PSIDLength"><em>PSIDLength</em></a> bits of the <em>PSID</em> value are used, so the parameter is ignored when <a href="#D.Device:2.Device.MAP.Domain.PSIDLength"><em>PSIDLength</em></a> is zero. Corresponds to the [<a href="#R.RFC7598">RFC7598</a>] <em>S46_PORTPARAMS</em> (Port Parameters) option’s <em>PSID</em> field.<span class="inserted"> This parameter is DEPRECATED because details changed between drafting this data model and the RFC being published. This parameter has been moved to the proper location within the <a href="#D.Device:2.Device.MAP.Domain.Rule."><em>Rule.{i}.</em></a> object.</span>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added status = <em>deprecated</em></li></ul></div></td>
<td>0</td>
<td>2.8</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.MAP.Domain.Rule.">Device.MAP.Domain.{i}.Rule.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>The MAP domain’s Mapping Rules [<a href="#R.RFC7597">RFC7597</a>]. The rule with the longest match between its <a href="#D.Device:2.Device.MAP.Domain.Rule.IPv6Prefix"><em>IPv6Prefix</em></a> and the end-user <a href="#D.Device:2.Device.MAP.Domain.IPv6Prefix"><em>IPv6Prefix</em></a> is the Basic Mapping Rule (BMR). Any of the rules (including the BMR) can be a Forwarding Mapping Rule.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.MAP.Domain.Rule.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.MAP.Domain.Rule.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.MAP.Domain.Rule.IPv6Prefix"><em>IPv6Prefix</em></a>, or with a given value for <a href="#D.Device:2.Device.MAP.Domain.Rule.IPv4Prefix"><em>IPv4Prefix</em></a>.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.MAP.Domain.Rule.PSIDOffset"><em>PSIDOffset</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.MAP.Domain.Rule.PSIDLength"><em>PSIDLength</em></a> parameter</li>
<li>Added <a href="#D.Device:2.Device.MAP.Domain.Rule.PSID"><em>PSID</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.8</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.MAP.Domain.Rule.PSIDOffset">PSIDOffset</span></td>
<td>unsignedInt(0:15)</td>
<td>W</td>
<td><em>Port-set ID</em> (PSID) offset in <em>bits</em>. The number of Port-sets is 2^<em>PSIDOffset</em>.
Corresponds to the [<a href="#R.RFC7598">RFC7598</a>] <em>S46_PORTPARAMS</em> (Port Parameters) option’s <em>offset</em> field.</td>
<td>6</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.MAP.Domain.Rule.PSIDLength">PSIDLength</span></td>
<td>unsignedInt(0:16)</td>
<td>W</td>
<td>The length in <em>bits</em> of the <em>Port-set id</em> (PSID) configured in the <a href="#D.Device:2.Device.MAP.Domain.Rule.PSID"><em>PSID</em></a> parameter.
Corresponds to the [<a href="#R.RFC7598">RFC7598</a>] <em>S46_PORTPARAMS</em> (Port Parameters) option’s <em>PSID-len</em> field.</td>
<td>0</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.MAP.Domain.Rule.PSID">PSID</span></td>
<td>unsignedInt(0:65535)</td>
<td>W</td>
<td><em>Port-set ID</em> (PSID) to use in preference to the value extracted from the <em>Embedded Address</em> (EA) bits.
Only the high order <a href="#D.Device:2.Device.MAP.Domain.Rule.PSIDLength"><em>PSIDLength</em></a> bits of the <em>PSID</em> value are used, so the parameter is ignored when <a href="#D.Device:2.Device.MAP.Domain.Rule.PSIDLength"><em>PSIDLength</em></a> is zero.
Corresponds to the [<a href="#R.RFC7598">RFC7598</a>] <em>S46_PORTPARAMS</em> (Port Parameters) option’s <em>PSID</em> field.</td>
<td>0</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Routing.">Device.Routing.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Routing object that contains the <a href="#D.Device:2.Device.Routing.Router."><em>Router</em></a> table and <a href="#D.Device:2.Device.Routing.RIP."><em>RIP</em></a> protocol object.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Routing.Router.">Device.Routing.Router.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This object allows the handling of the routing and forwarding configuration of the device.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.Routing.Router.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.Routing.Router.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Routing.Router.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Routing.Router.IPv4Forwarding.">Device.Routing.Router.{i}.IPv4Forwarding.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Layer 3 IPv4 forwarding table.
In addition to statically configured routes, this table MUST include dynamic routes learned through layer 3 routing protocols, including RIP (i.e. RIP version 2), OSPF, DHCPv4, and IPCP. The CPE MAY reject attempts to delete or modify a dynamic route entry.
For each incoming packet, the layer 3 forwarding decision is conceptually made as follows:</p>

<ul>
<li>Only enabled table entries with a matching <a href="#D.Device:2.Device.Routing.Router.IPv4Forwarding.ForwardingPolicy"><em>ForwardingPolicy</em></a> are considered, i.e. those that either do not specify a <a href="#D.Device:2.Device.Routing.Router.IPv4Forwarding.ForwardingPolicy"><em>ForwardingPolicy</em></a>, or else specify a <a href="#D.Device:2.Device.Routing.Router.IPv4Forwarding.ForwardingPolicy"><em>ForwardingPolicy</em></a> that matches that of the incoming packet.</li>
<li>Next, table entries that also have a matching destination address/mask are considered, and the matching entry with the longest prefix is applied to the packet (i.e. the entry with the most specific network). An unspecified destination address is a wild-card and always matches, but with a prefix length of zero.
For enabled table entries, if <a href="#D.Device:2.Device.Routing.Router.IPv4Forwarding.Interface"><em>Interface</em></a> is not a valid reference to an IPv4-capable interface (that is attached to the IPv4 stack), then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.Routing.Router.IPv4Forwarding.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.Routing.Router.IPv4Forwarding.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.
Note: The <em>IPv4Forwarding</em> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to an empty string. However, doing so under these circumstances might cause the updated <em>IPv4Forwarding</em> row to then violate the table’s unique key constraint; if this occurs, the CPE MUST disable the offending <em>IPv4Forwarding</em> row.</li></ul>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.Routing.Router.IPv4Forwarding.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.Routing.Router.IPv4Forwarding.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with the same values for all of <a href="#D.Device:2.Device.Routing.Router.IPv4Forwarding.DestIPAddress"><em>DestIPAddress</em></a>, <a href="#D.Device:2.Device.Routing.Router.IPv4Forwarding.DestSubnetMask"><em>DestSubnetMask</em></a>, <a href="#D.Device:2.Device.Routing.Router.IPv4Forwarding.ForwardingPolicy"><em>ForwardingPolicy</em></a>, <a href="#D.Device:2.Device.Routing.Router.IPv4Forwarding.GatewayIPAddress"><em>GatewayIPAddress</em></a>, <a href="#D.Device:2.Device.Routing.Router.IPv4Forwarding.Interface"><em>Interface</em></a> and <a href="#D.Device:2.Device.Routing.Router.IPv4Forwarding.ForwardingMetric"><em>ForwardingMetric</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Routing.Router.IPv4Forwarding.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Routing.Router.IPv6Forwarding.">Device.Routing.Router.{i}.IPv6Forwarding.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Layer 3 IPv6 forwarding table.
In addition to statically configured routes, this table MUST include dynamic routes learned through layer 3 routing protocols, including RIPng, OSPF, DHCPv6, and RA. The CPE MAY reject attempts to delete or modify a dynamic route entry.
For each incoming packet, the layer 3 forwarding decision is conceptually made as follows:</p>

<ul>
<li>Only enabled table entries with a matching <a href="#D.Device:2.Device.Routing.Router.IPv6Forwarding.ForwardingPolicy"><em>ForwardingPolicy</em></a> are considered, i.e. those that either do not specify a <a href="#D.Device:2.Device.Routing.Router.IPv6Forwarding.ForwardingPolicy"><em>ForwardingPolicy</em></a>, or else specify a <a href="#D.Device:2.Device.Routing.Router.IPv6Forwarding.ForwardingPolicy"><em>ForwardingPolicy</em></a> that matches that of the incoming packet.</li>
<li>Next, table entries that also have a matching destination prefix are considered, and the matching entry with the longest prefix length is applied to the packet (i.e. the entry with the most specific network). An unspecified destination address is a wild-card and always matches, but with a prefix length of zero.
For enabled table entries, if <a href="#D.Device:2.Device.Routing.Router.IPv6Forwarding.Interface"><em>Interface</em></a> is not a valid reference to an IPv6-capable interface (that is attached to the IPv6 stack), then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.Routing.Router.IPv6Forwarding.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.Routing.Router.IPv6Forwarding.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.
This object is based on <em>inetCidrRouteTable</em> from [<a href="#R.RFC4292">RFC4292</a>].</li></ul>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.Routing.Router.IPv6Forwarding.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.Routing.Router.IPv6Forwarding.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with the same values for all of <a href="#D.Device:2.Device.Routing.Router.IPv6Forwarding.DestIPPrefix"><em>DestIPPrefix</em></a>, <a href="#D.Device:2.Device.Routing.Router.IPv6Forwarding.ForwardingPolicy"><em>ForwardingPolicy</em></a>, <a href="#D.Device:2.Device.Routing.Router.IPv6Forwarding.NextHop"><em>NextHop</em></a>, <a href="#D.Device:2.Device.Routing.Router.IPv6Forwarding.Interface"><em>Interface</em></a> and <a href="#D.Device:2.Device.Routing.Router.IPv6Forwarding.ForwardingMetric"><em>ForwardingMetric</em></a>.</p></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Routing.Router.IPv6Forwarding.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Routing.RIP.">Device.Routing.RIP.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Routing Information Protocol (RIP) object.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Routing.RIP.InterfaceSetting.">Device.Routing.RIP.InterfaceSetting.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>IP Interface RIP configuration table. For enabled table entries, if <a href="#D.Device:2.Device.Routing.RIP.InterfaceSetting.Interface"><em>Interface</em></a> is not a valid reference then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.Routing.RIP.InterfaceSetting.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.Routing.RIP.InterfaceSetting.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>. Note: The <em>InterfaceSetting</em> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to an empty string. However, doing so under these circumstances might cause the updated <em>InterfaceSetting</em> row to then violate the table’s unique key constraint; if this occurs, the CPE MUST set <a href="#D.Device:2.Device.Routing.RIP.InterfaceSetting.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.Routing.RIP.InterfaceSetting.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a> and disable the offending <em>InterfaceSetting</em> row.</p>

<p><span class="inserted"> </span>Note: This object only applies to RIP2; i.e. version 2 of the RIP protocol is used to accept or send over the specified <a href="#D.Device:2.Device.Routing.RIP.InterfaceSetting.Interface"><em>Interface</em></a>.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.Routing.RIP.InterfaceSetting.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.Routing.RIP.InterfaceSetting.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.Routing.RIP.InterfaceSetting.Interface"><em>Interface</em></a>.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <strong>{{param: non-existent Version
:::</strong> parameter}}</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Routing.RIP.InterfaceSetting.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.NeighborDiscovery.">Device.NeighborDiscovery.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The Neighbor Discovery Protocol (NDP) object [<a href="#R.RFC4861">RFC4861</a>]. This object applies only to IPv6. It contains an <a href="#D.Device:2.Device.NeighborDiscovery.InterfaceSetting."><em>InterfaceSetting</em></a> table that defines the NDP configuration for individual IP interfaces.</td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.NeighborDiscovery.InterfaceSetting.">Device.NeighborDiscovery.InterfaceSetting.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Per-interface Neighbor Discovery Protocol (NDP) configuration [<a href="#R.RFC4861">RFC4861</a>].
For enabled table entries, if <a href="#D.Device:2.Device.NeighborDiscovery.InterfaceSetting.Interface"><em>Interface</em></a> is not a valid reference to an IPv6-capable interface (that is attached to the IPv6 stack), then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.NeighborDiscovery.InterfaceSetting.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.NeighborDiscovery.InterfaceSetting.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.
Note: The <em>InterfaceSetting</em> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to an empty string. However, doing so under these circumstances might cause the updated <em>InterfaceSetting</em> row to then violate the table’s unique key constraint; if this occurs, the CPE MUST set <a href="#D.Device:2.Device.NeighborDiscovery.InterfaceSetting.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.NeighborDiscovery.InterfaceSetting.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a> and disable the offending <em>InterfaceSetting</em> row.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.NeighborDiscovery.InterfaceSetting.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.NeighborDiscovery.InterfaceSetting.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.NeighborDiscovery.InterfaceSetting.Interface"><em>Interface</em></a>.</p></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.NeighborDiscovery.InterfaceSetting.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.RouterAdvertisement.">Device.RouterAdvertisement.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The Router Advertisement (RA) object [<a href="#R.RFC4861">RFC4861</a>]. This object applies only to IPv6. It contains an <a href="#D.Device:2.Device.RouterAdvertisement.InterfaceSetting."><em>InterfaceSetting</em></a> table that defines the RA configuration for individual IP interfaces.
Information received via router advertisement messages is automatically propagated to the relevant <a href="#D.Device:2.Device.IP.Interface."><em>IP.Interface</em></a> sub-objects, e.g. to the <a href="#D.Device:2.Device.IP.Interface.IPv6Address."><em>IP.Interface.{i}.IPv6Address</em></a> and <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix."><em>IP.Interface.{i}.IPv6Prefix</em></a> tables.</td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.RouterAdvertisement.InterfaceSetting.">Device.RouterAdvertisement.InterfaceSetting.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Per-interface Router Advertisement (RA) configuration [<a href="#R.RFC4861">RFC4861</a>]. Table entries are created for use in sending Router Advertisements.
For enabled table entries, if <a href="#D.Device:2.Device.RouterAdvertisement.InterfaceSetting.Interface"><em>Interface</em></a> is not a valid reference to an IPv6-capable interface (that is attached to the IPv6 stack), then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.RouterAdvertisement.InterfaceSetting.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.RouterAdvertisement.InterfaceSetting.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.
Note: The <em>InterfaceSetting</em> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to an empty string. However, doing so under these circumstances might cause the updated <em>InterfaceSetting</em> row to then violate the table’s unique key constraint; if this occurs, the CPE MUST set <a href="#D.Device:2.Device.RouterAdvertisement.InterfaceSetting.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.RouterAdvertisement.InterfaceSetting.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a> and disable the offending <em>InterfaceSetting</em> row.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.RouterAdvertisement.InterfaceSetting.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.RouterAdvertisement.InterfaceSetting.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.RouterAdvertisement.InterfaceSetting.Interface"><em>Interface</em></a>.</p></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.RouterAdvertisement.InterfaceSetting.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.RouterAdvertisement.InterfaceSetting.ManualPrefixes">ManualPrefixes</span></td>
<td>string[:8]()</td>
<td>W</td>
<td>Comma-separated list (up to 8 items) (length ) of strings. Each list item MUST be the Path Name of a row in the <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix."><em>IP.Interface.{i}.IPv6Prefix.</em></a> table. If the referenced object is deleted, the corresponding item MUST be removed from the list.
Manually-configured prefixes that will be sent in Router Advertisement messages. Each referenced prefix MUST have a <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.StaticType"><em>IP.Interface.{i}.IPv6Prefix.{i}.StaticType</em></a> of <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.StaticType.Static"><em>Static</em></a> or <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.StaticType.Child"><em>Child</em></a>. Router Advertisement messages MUST include Prefix Information Options [<a href="#R.RFC4861">RFC4861</a>] for all <em>Valid</em> (<a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.ValidLifetime"><em>IP.Interface.{i}.IPv6Prefix.{i}.ValidLifetime</em></a> is infinite or in the future) prefixes in this list.
Prefixes MUST be associated with the interface instance referenced by <a href="#D.Device:2.Device.RouterAdvertisement.InterfaceSetting.Interface"><em>Interface</em></a>.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:8</a></em> list size</li></ul></div></td>
<td><em>&lt;Empty&gt;</em></td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.RouterAdvertisement.InterfaceSetting.Prefixes">Prefixes</span></td>
<td>string[:8]()</td>
<td>R</td>
<td><p>Comma-separated list (up to 8 items) (length ) of strings. Each list item MUST be the Path Name of a row in the <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix."><em>IP.Interface.{i}.IPv6Prefix.</em></a> table. If the referenced object is deleted, the corresponding item MUST be removed from the list.
All prefixes that will be included in Router Advertisement (RA) messages sent out this interface. This list can include:</p>

<ul>
<li>Prefixes from <a href="#D.Device:2.Device.RouterAdvertisement.InterfaceSetting.ManualPrefixes"><em>ManualPrefixes</em></a> that are included in RA messages.</li>
<li>Prefixes with <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.Origin"><em>IP.Interface.{i}.IPv6Prefix.{i}.Origin</em></a> = <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.Origin.Child"><em>Child</em></a> or <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.Origin.AutoConfigured"><em>AutoConfigured</em></a> associated with the interface instance referenced by <a href="#D.Device:2.Device.RouterAdvertisement.InterfaceSetting.Interface"><em>Interface</em></a>.</li></ul>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:8</a></em> list size</li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.RouterAdvertisement.InterfaceSetting.Option.">Device.RouterAdvertisement.InterfaceSetting.{i}.Option.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This object specifies the options in a Router Advertisement (RA) message [<a href="#R.RFC4861">Section 4.6/RFC4861</a>]. <em>Option</em> entries are created for use in sending Router Advertisements (enabled options MUST be included in RA messages sent). This includes support for sending DNS information in the RA message as described in [<a href="#R.RFC6106">RFC6106</a>].
This table is intended only for options that are not modeled elsewhere. For example, it is not appropriate for the MTU option (which is modeled via <a href="#D.Device:2.Device.RouterAdvertisement.InterfaceSetting.AdvLinkMTU"><em>AdvLinkMTU</em></a>).</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.RouterAdvertisement.InterfaceSetting.Option.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.RouterAdvertisement.InterfaceSetting.Option.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.RouterAdvertisement.InterfaceSetting.Option.Tag"><em>Tag</em></a>.</p></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.RouterAdvertisement.InterfaceSetting.Option.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IPv6rd.">Device.IPv6rd.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Settings allowing a CPE to derive and route IPv6 Rapid Deployment (6rd) delegated prefixes as specified in [<a href="#R.RFC5969">RFC5969</a>]. The 6rd mechanism is intended to be implemented only on what [<a href="#R.RFC5969">RFC5969</a>] refers to as <em>Customer Edge Routers</em>, i.e. on gateway devices, that support IPv6 on the LAN side and only have IPv4 connectivity on the WAN side.
See the 6rd Theory of Operation [<a href="#R.TR-181i2a2">Appendix VI/TR-181i2a2</a>] for a description of the working of this 6rd data model.</td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IPv6rd.InterfaceSetting.">Device.IPv6rd.InterfaceSetting.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>6rd [<a href="#R.RFC5969">RFC5969</a>] settings.
A 6rd delegated prefix is expected to be of maximum length 64 bits, and is the concatenation of the following two items:</p>

<ul>
<li>Service provider IPv6 prefix: specified via the <a href="#D.Device:2.Device.IPv6rd.InterfaceSetting.SPIPv6Prefix"><em>SPIPv6Prefix</em></a> parameter</li>
<li>IPv4 address suffix: the IPv4 address with the first <a href="#D.Device:2.Device.IPv6rd.InterfaceSetting.IPv4MaskLength"><em>IPv4MaskLength</em></a> bits removed
This object definition is derived from [<a href="#R.RFC5969">RFC5969</a>] with some minor nomenclature changes.</li></ul>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.IPv6rd.InterfaceSetting.Alias"><em>Alias</em></a>.</p></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IPv6rd.InterfaceSetting.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IPv6rd.InterfaceSetting.BorderRelayIPv4Addresses">BorderRelayIPv4Addresses</span></td>
<td><span title="IPv4Address[:4]()">string(:45)[:4]()</span></td>
<td>W</td>
<td>[<a href="#T.IPv4Address">IPv4Address</a>] Comma-separated list (up to 4 items) (length ) of IPv4Addresses. List items are the IPv4 addresses (possibly anycast) of the 6rd Relay(s).

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:4</a></em> list size</li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DSLite.">Device.DSLite.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Settings allowing a CPE to configure and route IPv6 Dual-Stack Lite (DSLite) as specified in [<a href="#R.DSLite">DSLite</a>]. The DS-Lite mechanism is intended to be implemented only on gateway devices that support IPv4 on the LAN side and only have IPv6 connectivity on the WAN side.
See the Dual-Stack Lite Theory of Operation [<a href="#R.TR-181i2a2">Appendix VII/TR-181i2a2</a>] for a description of the working of this DS-Lite data model.</td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DSLite.InterfaceSetting.">Device.DSLite.InterfaceSetting.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>DSLite [<a href="#R.DSLite">DSLite</a>] settings.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.DSLite.InterfaceSetting.Alias"><em>Alias</em></a>.</p></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DSLite.InterfaceSetting.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.QoS.">Device.QoS.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Queue management configuration object.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.QoS.Classification.">Device.QoS.Classification.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Classification table. For enabled table entries, if <a href="#D.Device:2.Device.QoS.Classification.Interface"><em>Interface</em></a> is not a valid reference and <a href="#D.Device:2.Device.QoS.Classification.AllInterfaces"><em>AllInterfaces</em></a> is <em>false</em>, then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.QoS.Classification.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.QoS.Classification.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.</p>

<p><span class="inserted"> </span>Several of this object’s parameters specify DHCP option values. Some cases are version neutral (the parameter can apply to both DHCPv4 and DHCPv6), but in other cases the representation of the option is different for DHCPv4 and DHCPv6, so it is necessary to define separate DHCPv4-specific and DHCPv6-specific parameters. Therefore, an instance of this object that uses DHCP option values as classification criteria will be associated with either DHCPv4 or DHCPv6, as indicated by the <a href="#D.Device:2.Device.QoS.Classification.DHCPType"><em>DHCPType</em></a> parameter.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.QoS.Classification.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.QoS.Classification.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.QoS.Classification.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.QoS.App.">Device.QoS.App.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Application table.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.QoS.App.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.QoS.App.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.QoS.App.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.QoS.Flow.">Device.QoS.Flow.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Flow table.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.QoS.Flow.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.QoS.Flow.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.QoS.Flow.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.QoS.Policer.">Device.QoS.Policer.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Policer table.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.QoS.Policer.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.QoS.Policer.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.QoS.Policer.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.QoS.Queue.">Device.QoS.Queue.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Queue table. Each entry is associated with a set of traffic classes, which are specified via the <a href="#D.Device:2.Device.QoS.Queue.TrafficClasses"><em>TrafficClasses</em></a> parameter, and is configured with weight, precedence, drop algorithm, scheduler algorithm etc as appropriate for the traffic classes. An entry can be associated either with all egress interfaces (in which case an actual queue will be instantiated on each egress interface on which traffic of that traffic class can be generated) or else with a single specified egress interface.
For enabled table entries, if <a href="#D.Device:2.Device.QoS.Queue.Interface"><em>Interface</em></a> is not a valid reference and <a href="#D.Device:2.Device.QoS.Queue.AllInterfaces"><em>AllInterfaces</em></a> is <em>false</em>, then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.QoS.Queue.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.QoS.Queue.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.QoS.Queue.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.QoS.Queue.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.QoS.Queue.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.QoS.QueueStats.">Device.QoS.QueueStats.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Queue statistics table. This table is managed by the ACS, which will create entries only for those {Queue, Interface} combinations for which statistics are to be collected.
Note: The <em>QueueStats</em> table includes unique key parameters that are strong references. If a strongly referenced object is deleted, the CPE will set the referencing parameter to an empty string. However, doing so under these circumstances might cause the updated <em>QueueStats</em> row to then violate the table’s unique key constraint; if this occurs, the CPE MUST disable the offending <em>QueueStats</em> row.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.QoS.QueueStats.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.QoS.QueueStats.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with the same values for both <a href="#D.Device:2.Device.QoS.QueueStats.Queue"><em>Queue</em></a> and <a href="#D.Device:2.Device.QoS.QueueStats.Interface"><em>Interface</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.QoS.QueueStats.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.QoS.Shaper.">Device.QoS.Shaper.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Shaper table. Used to shape the queue(s) associated with <a href="#D.Device:2.Device.QoS.Shaper.Interface"><em>Interface</em></a>. In case of a single queue for that interface, determines the egress rate of the queue. In case of multiple queues for that interface (possibly with per queue shaping rates), determines the aggregate egress rate on that interface.
For enabled table entries, if <a href="#D.Device:2.Device.QoS.Shaper.Interface"><em>Interface</em></a> is not a valid reference then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.QoS.Shaper.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.QoS.Shaper.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.
Note: The <em>Shaper</em> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to an empty string. However, doing so under these circumstances might cause the updated <em>Shaper</em> row to then violate the table’s unique key constraint; if this occurs, the CPE MUST set <a href="#D.Device:2.Device.QoS.Shaper.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.QoS.Shaper.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a> and disable the offending <em>Shaper</em> row.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.QoS.Shaper.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.QoS.Shaper.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.QoS.Shaper.Interface"><em>Interface</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.QoS.Shaper.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Hosts.">Device.Hosts.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object provides information about each of the hosts on the LAN, including those whose IP address was allocated by the CPE using DHCP as well as hosts with statically allocated IP addresses. It can also include non-IP hosts.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Hosts.Host.">Device.Hosts.Host.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>Host table.</p>

<p>At most one entry in this table can exist with a given value for <strong>{{param: reference to deprecated parameter Device.Hosts.Host.{i}.Alias}}</strong>, or with a given value for <a href="#D.Device:2.Device.Hosts.Host.PhysAddress"><em>PhysAddress</em></a>.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.Hosts.Host.WANStats."><em>WANStats.</em></a> object</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="deprecated-parameter">
<td><span id="D.Device:2.Device.Hosts.Host.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p><span class="removed">A</span></p>

<div class="inserted"><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul></div>

<p><span class="removed">non-volatile handle used to reference this instance. <em>Alias</em> provides a mechanism for an ACS to label this instance for future reference. An initial unique value MUST be assigned when the CPE creates an instance of this object.</span></p>

<p>This parameter is DEPRECATED because <a href="#D.Device:2.Device.Hosts.Host."><em>Host</em></a> is a transient object.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li>
<li>Added <em>Alias</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Hosts.Host.DHCPClient">DHCPClient</span></td>
<td>string[:2]()</td>
<td>R</td>
<td>Comma-separated list (up to 2 items) (length ) of strings. Each list item MUST be the Path Name of a row in the <a href="#D.Device:2.Device.DHCPv4.Server.Pool.Client."><em>DHCPv4.Server.Pool.{i}.Client.</em></a> or <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Client."><em>DHCPv6.Server.Pool.{i}.Client.</em></a> tables. If the referenced object is deleted, the corresponding item MUST be removed from the list. Each list item is the DHCPv4 or DHCPv6 server’s client entry that corresponds to the host.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:2</a></em> list size</li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Hosts.Host.Active">Active</span></td>
<td>boolean</td>
<td>R</td>
<td>Whether or not the host is currently present on the LAN. The method of presence detection is a local matter to the CPE. The ability to list inactive hosts is OPTIONAL. If the CPE includes inactive hosts in this table, <em>Active</em> MUST be set to <em>false</em> for each inactive host. The length of time an inactive host remains listed in this table is a local matter to the CPE.<span class="inserted"> Entries in Device.Hosts.Host SHOULD NOT be removed when they become inactive if there are <a href="#D.Device:2.Device.Hosts.Host.WANStats."><em>WANStats</em></a> statistics collected for the entry in the past seven days.</span></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Hosts.Host.ActiveLastChange">ActiveLastChange</span></td>
<td>dateTime</td>
<td>R</td>
<td>The datetime when <a href="#D.Device:2.Device.Hosts.Host.Active"><em>Active</em></a> last changed from <em>true</em> to <em>false</em> or from <em>false</em> to <em>true</em>. The initial detection of a host SHOULD be treated as a transition from <em>false</em> to <em>true</em>, showing the datetime when the host was first detected. The ability to list inactive hosts is OPTIONAL. The length of time an inactive host remains listed in this table is a local matter to the CPE.<span class="inserted"> Entries in Device.Hosts.Host SHOULD NOT be removed when they become inactive if there are <a href="#D.Device:2.Device.Hosts.Host.WANStats."><em>WANStats</em></a> statistics collected for the entry in the past seven days.</span></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.Hosts.Host.WANStats.">Device.Hosts.Host.{i}.WANStats.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>These count bytes or packets at the IP layer sent to the WAN, or received from the WAN.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Hosts.Host.WANStats.BytesSent">BytesSent</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of bytes transmitted to the WAN from the Host device at the IP layer.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Hosts.Host.WANStats.BytesReceived">BytesReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of bytes received from the WAN and sent to the Host device at the IP layer.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Hosts.Host.WANStats.PacketsSent">PacketsSent</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of IP packets transmitted to the WAN from the Host device.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Hosts.Host.WANStats.PacketsReceived">PacketsReceived</span></td>
<td><span title="StatsCounter64">unsignedLong</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter64">StatsCounter64</a>] The total number of IP packets received from the WAN and sent to the Host device.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Hosts.Host.WANStats.ErrorsSent">ErrorsSent</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of outbound IP packets to the WAN from the Host device that could not be transmitted because of errors. These may be due to the number of retransmissions exceeding the retry limit, or from other causes.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Hosts.Host.WANStats.RetransCount">RetransCount</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of transmitted IP packets to the WAN from the Host device which were retransmissions. Two retransmissions of the same packet results in this counter incrementing by two.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.Hosts.Host.WANStats.DiscardPacketsSent">DiscardPacketsSent</span></td>
<td><span title="StatsCounter32">unsignedInt</span></td>
<td>R</td>
<td><p>[<a href="#T.StatsCounter32">StatsCounter32</a>] The total number of outbound IP packets which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DNS.">Device.DNS.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Properties for Domain Name Service (DNS).</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DNS.Client.">Device.DNS.Client.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Client properties for Domain Name Service (DNS). The DNS client resolves FQDN on behalf of device internal (client) applications.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DNS.Client.Server.">Device.DNS.Client.Server.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This table contains the DNS Server IP address to be used by the DHCP Client (it does <em>not</em> model a DNS Server). Entries are either automatically created as result of DHCP (v4 or v6), IPCP, or RA received DNS server information, or are statically configured by the ACS.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.DNS.Client.Server.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.DNS.Client.Server.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.DNS.Client.Server.DNSServer"><em>DNSServer</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DNS.Client.Server.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DNS.Relay.">Device.DNS.Relay.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>DNS Relay object. The DNS proxy (or relay) function allows the forwarding of local network DNS queries to local or external DNS server(s) [<a href="#R.RFC5625">RFC5625</a>].</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DNS.Relay.Forwarding.">Device.DNS.Relay.Forwarding.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>DNS Server forwarding policy to be used by the DNS Relay. Entries are either automatically created as result of DHCP (v4 or v6), IPCP, or RA received DNS server information, or are statically configured by the ACS.
Note: Management of re-directing queries to the device embedded DNS server is not defined in this version of the specification.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.DNS.Relay.Forwarding.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.DNS.Relay.Forwarding.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.DNS.Relay.Forwarding.DNSServer"><em>DNSServer</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DNS.Relay.Forwarding.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DNS.Diagnostics.">Device.DNS.Diagnostics.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The DNS Diagnostics object containing the <a href="#D.Device:2.Device.DNS.Diagnostics.NSLookupDiagnostics."><em>NSLookupDiagnostics</em></a> test.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DNS.Diagnostics.NSLookupDiagnostics.">Device.DNS.Diagnostics.NSLookupDiagnostics.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object defines access to an IP-layer NS Lookup test for the specified IP interface.
When initiated, the NS Lookup test will contact <a href="#D.Device:2.Device.DNS.Diagnostics.NSLookupDiagnostics.DNSServer"><em>DNSServer</em></a> and look up <a href="#D.Device:2.Device.DNS.Diagnostics.NSLookupDiagnostics.HostName"><em>HostName</em></a> <a href="#D.Device:2.Device.DNS.Diagnostics.NSLookupDiagnostics.NumberOfRepetitions"><em>NumberOfRepetitions</em></a> times.
There will be a <a href="#D.Device:2.Device.DNS.Diagnostics.NSLookupDiagnostics.Result."><em>Result</em></a> instance for each time the device performs a DNS lookup, which is determined by the value of <a href="#D.Device:2.Device.DNS.Diagnostics.NSLookupDiagnostics.NumberOfRepetitions"><em>NumberOfRepetitions</em></a>.
Any previous <a href="#D.Device:2.Device.DNS.Diagnostics.NSLookupDiagnostics.Result."><em>Result</em></a> instances are removed when a new test is initiated.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DNS.Diagnostics.NSLookupDiagnostics.Result.">Device.DNS.Diagnostics.NSLookupDiagnostics.Result.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td>Results from the most recent invocation of the test, one instance per repetition.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DNS.Diagnostics.NSLookupDiagnostics.Result.IPAddresses">IPAddresses</span></td>
<td><span title="IPAddress[:10]()">string(:45)[:10]()</span></td>
<td>R</td>
<td><p>[<a href="#T.IPAddress">IPAddress</a>] Comma-separated list (up to 10 items) (length ) of IP Addresses. Indicates the IP Address results returned by the NS Lookup; if no response was provided, then this parameter is an empty string.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:10</a></em> list size</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DNS.SD.">Device.DNS.SD.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains the DNS Service Discovery [<a href="#R.DNS-SD">DNS-SD</a>] object and parameters necessary to discover services and their associated devices.
Upon reboot the the contents of the service table are repopulated. When the DNS.SD service is disabled, the contents of the service table is implementation specific.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.DNS.SD.AdvertisedInterfaces"><em>AdvertisedInterfaces</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.6</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.DNS.SD.AdvertisedInterfaces">AdvertisedInterfaces</span></td>
<td>string[]</td>
<td>W</td>
<td>Comma-separated list of strings. Each list item MUST be the Path Name of the <a href="#D.Device:2.Device.IP.Interface."><em>IP.Interface</em></a> object instance from which DNS-SD services are advertised. If the referenced object is deleted, the corresponding item MUST be removed from the list.
If this parameter is not supported by an implementation then DNS-SD services are advertised on all LAN interfaces.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.NAT.">Device.NAT.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Properties for Network Address Translation (NAT).
The entire <em>NAT</em> object only applies to IPv4.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.NAT.InterfaceSetting.">Device.NAT.InterfaceSetting.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>NAT settings for an associated IP Interface on which NAT is enabled.
For enabled table entries, if <a href="#D.Device:2.Device.NAT.InterfaceSetting.Interface"><em>Interface</em></a> is not a valid reference then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.NAT.InterfaceSetting.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.NAT.InterfaceSetting.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.
Note: The <em>InterfaceSetting</em> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to an empty string. However, doing so under these circumstances might cause the updated <em>InterfaceSetting</em> row to then violate the table’s unique key constraint; if this occurs, the CPE MUST set <a href="#D.Device:2.Device.NAT.InterfaceSetting.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.NAT.InterfaceSetting.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a> and disable the offending <em>InterfaceSetting</em> row.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.NAT.InterfaceSetting.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.NAT.InterfaceSetting.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.NAT.InterfaceSetting.Interface"><em>Interface</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.NAT.InterfaceSetting.Status">Status</span></td>
<td>string</td>
<td>R</td>
<td><p>The status of this entry. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.NAT.InterfaceSetting.Status.Disabled"><em>Disabled</em></span></li>
<li><span id="D.Device:2.Device.NAT.InterfaceSetting.Status.Enabled"><em>Enabled</em></span></li>
<li><span id="D.Device:2.Device.NAT.InterfaceSetting.Status.Enabled_NATForcedDisabled"><em>Enabled_NATForcedDisabled</em></span> (NAT enabled but forced by a third party to be operationally disabled, e.g. because a <a href="#D.Device:2.Device.MAP.Domain."><em>MAP.Domain</em></a> is enabled but there is no Basic Mapping Rule [<a href="#R.RFC7597">RFC7597</a>])</li>
<li><span id="D.Device:2.Device.NAT.InterfaceSetting.Status.Enabled_PortMappingDisabled"><em>Enabled_PortMappingDisabled</em></span> (NAT enabled but port mapping has been operationally disabled by a third party, e.g. because this is REQUIRED by the current <a href="#D.Device:2.Device.Firewall."><em>Firewall</em></a> level)</li>
<li><span id="D.Device:2.Device.NAT.InterfaceSetting.Status.Error_Misconfigured"><em>Error_Misconfigured</em></span></li>
<li><span id="D.Device:2.Device.NAT.InterfaceSetting.Status.Error"><em>Error</em></span> (</li></ul>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed optional = <em>true</em></li></ul></div>

<p>)
The <a href="#D.Device:2.Device.NAT.InterfaceSetting.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a> value indicates that a necessary configuration value is undefined or invalid.
The <a href="#D.Device:2.Device.NAT.InterfaceSetting.Status.Error"><em>Error</em></a> value MAY be used by the CPE to indicate a locally defined error condition.</p></td>
<td>Disabled</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.NAT.InterfaceSetting.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.NAT.PortMapping.">Device.NAT.PortMapping.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Port mapping table.
This table MUST contain all NAT port mappings associated with this connection, including static and dynamic port mappings programmatically created via local control protocol, such as UPnP.
This table MUST NOT contain dynamic NAT binding entries associated with the normal operation of NAT.
If the CPE hosts a firewall, it is assumed that it will appropriately configure the firewall for the port mapping.
For enabled table entries, if <a href="#D.Device:2.Device.NAT.PortMapping.InternalClient"><em>InternalClient</em></a> is an empty string, or if <a href="#D.Device:2.Device.NAT.PortMapping.Interface"><em>Interface</em></a> is not a valid reference and <a href="#D.Device:2.Device.NAT.PortMapping.AllInterfaces"><em>AllInterfaces</em></a> is <em>false</em>, then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.NAT.PortMapping.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.NAT.PortMapping.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.NAT.PortMapping.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.NAT.PortMapping.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with the same values for all of <a href="#D.Device:2.Device.NAT.PortMapping.RemoteHost"><em>RemoteHost</em></a>, <a href="#D.Device:2.Device.NAT.PortMapping.ExternalPort"><em>ExternalPort</em></a> and <a href="#D.Device:2.Device.NAT.PortMapping.Protocol"><em>Protocol</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.NAT.PortMapping.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.
Note: There is no guarantee that the <em>Alias</em> value on automatically-created <a href="#D.Device:2.Device.NAT.PortMapping."><em>PortMapping</em></a> instances will be retained. This is because automatically-created <a href="#D.Device:2.Device.NAT.PortMapping."><em>PortMapping</em></a> instances can be transitory.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DHCPv4.">Device.DHCPv4.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The Dynamic Host Configuration Protocol (DHCP) IPv4 object [<a href="#R.RFC2131">RFC2131</a>]. This entire object applies to IPv4 only. It contains the <a href="#D.Device:2.Device.DHCPv4.Client."><em>Client</em></a>, <a href="#D.Device:2.Device.DHCPv4.Server."><em>Server</em></a>, and <a href="#D.Device:2.Device.DHCPv4.Relay."><em>Relay</em></a> objects.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DHCPv4.Client.">Device.DHCPv4.Client.{i}.</span></td>
<td><span title="object(1:∞)">object(1:)</span></td>
<td>W</td>
<td><p>This object contains DHCP client settings for an associated <em>IP Interface</em> indicated by <a href="#D.Device:2.Device.DHCPv4.Client.Interface"><em>Interface</em></a>.
For enabled table entries, if <a href="#D.Device:2.Device.DHCPv4.Client.Interface"><em>Interface</em></a> is not a valid reference then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.DHCPv4.Client.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.DHCPv4.Client.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.
Note: The <em>Client</em> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to an empty string. However, doing so under these circumstances might cause the updated <em>Client</em> row to then violate the table’s unique key constraint; if this occurs, the CPE MUST set <a href="#D.Device:2.Device.DHCPv4.Client.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.DHCPv4.Client.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a> and disable the offending <em>Client</em> row.</p>

<p>This table MUST contain at least 1 entry.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.DHCPv4.Client.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.DHCPv4.Client.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.DHCPv4.Client.Interface"><em>Interface</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DHCPv4.Client.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DHCPv4.Client.Renew">Renew</span></td>
<td>boolean</td>
<td>W</td>
<td>When set to <em>true</em>, the DHCP client will renew its DHCP lease.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>boolean</em> syntax hidden = <em>true</em></li></ul></div></td>
<td>false</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DHCPv4.Client.SentOption.">Device.DHCPv4.Client.{i}.SentOption.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Each instance of this object represents a DHCP option that MUST, if enabled, be sent in DHCP client requests. All sent DHCP options MUST be listed.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.DHCPv4.Client.SentOption.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.DHCPv4.Client.SentOption.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.DHCPv4.Client.SentOption.Tag"><em>Tag</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DHCPv4.Client.SentOption.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DHCPv4.Client.ReqOption.">Device.DHCPv4.Client.{i}.ReqOption.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Each instance of this object represents a DHCP option that MUST, if enabled, be requested in DHCP client requests. All requested DHCP options MUST be listed.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.DHCPv4.Client.ReqOption.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.DHCPv4.Client.ReqOption.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.DHCPv4.Client.ReqOption.Tag"><em>Tag</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DHCPv4.Client.ReqOption.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DHCPv4.Server.">Device.DHCPv4.Server.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>DHCP server configuration.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DHCPv4.Server.Pool.">Device.DHCPv4.Server.Pool.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>DHCP conditional serving pool table.
Each instance of this object defines a DHCP conditional serving pool. Client requests are associated with pools based on criteria such as source interface, supplied DHCP options, and MAC address.
Overlapping pool ranges MUST be supported.
For enabled table entries, if <a href="#D.Device:2.Device.DHCPv4.Server.Pool.Interface"><em>Interface</em></a> is not a valid reference, or <a href="#D.Device:2.Device.DHCPv4.Server.Pool.MinAddress"><em>MinAddress</em></a>, <a href="#D.Device:2.Device.DHCPv4.Server.Pool.MaxAddress"><em>MaxAddress</em></a>, or <a href="#D.Device:2.Device.DHCPv4.Server.Pool.SubnetMask"><em>SubnetMask</em></a> is not a valid value, then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.DHCPv4.Server.Pool.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.DHCPv4.Server.Pool.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.DHCPv4.Server.Pool.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.DHCPv4.Server.Pool.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DHCPv4.Server.Pool.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DHCPv4.Server.Pool.ReservedAddresses">ReservedAddresses</span></td>
<td><span title="IPv4Address[:32]()">string(:45)[:32]()</span></td>
<td>W</td>
<td>[<a href="#T.IPv4Address">IPv4Address</a>] Comma-separated list (up to 32 items) (length ) of IPv4Addresses. List items represent addresses marked reserved from the address allocation pool.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:32</a></em> list size</li></ul></div></td>
<td><em>&lt;Empty&gt;</em></td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DHCPv4.Server.Pool.DNSServers">DNSServers</span></td>
<td><span title="IPv4Address[:4]()">string(:45)[:4]()</span></td>
<td>W</td>
<td>[<a href="#T.IPv4Address">IPv4Address</a>] Comma-separated list (up to 4 items) (length ) of IPv4Addresses. List items represent DNS servers offered to DHCP clients. Support for more than three DNS Servers is OPTIONAL.
The parameter value can be overwritten by dynamic values retrieved via a DHCP client with <a href="#D.Device:2.Device.DHCPv4.Client.PassthroughEnable"><em>Client.{i}.PassthroughEnable</em></a> or a PPP interface with <a href="#D.Device:2.Device.PPP.Interface.IPCP.PassthroughEnable"><em>PPP.Interface.{i}.IPCP.PassthroughEnable</em></a> equal to <em>true</em>.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:4</a></em> list size</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DHCPv4.Server.Pool.IPRouters">IPRouters</span></td>
<td><span title="IPv4Address[:4]()">string(:45)[:4]()</span></td>
<td>W</td>
<td>[<a href="#T.IPv4Address">IPv4Address</a>] Comma-separated list (up to 4 items) (length ) of IPv4Addresses. List items represent addresses of routers on this subnet. Also known as default gateway. Support for more than one Router address is OPTIONAL.
The parameter value can be overwritten by dynamic values retrieved via a DHCP client with <a href="#D.Device:2.Device.DHCPv4.Client.PassthroughEnable"><em>Client.{i}.PassthroughEnable</em></a> or a PPP interface with <a href="#D.Device:2.Device.PPP.Interface.IPCP.PassthroughEnable"><em>PPP.Interface.{i}.IPCP.PassthroughEnable</em></a> equal to <em>true</em>.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:4</a></em> list size</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DHCPv4.Server.Pool.StaticAddress.">Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>DHCP static address table.
Entries in this table correspond to what [<a href="#R.RFC2131">RFC2131</a>] calls &ldquo;manual allocation&rdquo;, where a client’s IP address is assigned by the network administrator, and DHCP is used simply to convey the assigned address to the client.
Each instance of this object specifies a hardware address (MAC address) and an IP address within the pool. When serving from this pool, this IP address MUST, if available, be assigned to the DHCP client with this hardware address, and MUST NOT be assigned to any other client.
Note that it is possible that an IP address in this table is present in one or more of the other conditional serving pools, in which case it is possible that such an address will be assigned to a different client.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.DHCPv4.Server.Pool.StaticAddress.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.DHCPv4.Server.Pool.StaticAddress.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.DHCPv4.Server.Pool.StaticAddress.Chaddr"><em>Chaddr</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DHCPv4.Server.Pool.StaticAddress.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DHCPv4.Server.Pool.Option.">Device.DHCPv4.Server.Pool.{i}.Option.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This object specifies the DHCP options that MUST, if enabled, be returned to clients whose DHCP requests are associated with this pool.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.DHCPv4.Server.Pool.Option.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.DHCPv4.Server.Pool.Option.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.DHCPv4.Server.Pool.Option.Tag"><em>Tag</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DHCPv4.Server.Pool.Option.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DHCPv4.Server.Pool.Client.">Device.DHCPv4.Server.Pool.{i}.Client.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>DHCPv4 client table.
This table lists details of DHCPv4 clients that matched the filter criteria of this <a href="#D.Device:2.Device.DHCPv4.Server.Pool."><em>Pool</em></a> entry.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.DHCPv4.Server.Pool.Client.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.DHCPv4.Server.Pool.Client.Chaddr"><em>Chaddr</em></a>.</p></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DHCPv4.Server.Pool.Client.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.
Note: There is no guarantee that the <em>Alias</em> value on automatically-created <a href="#D.Device:2.Device.DHCPv4.Server.Pool.Client."><em>Client</em></a> instances will be retained. This is because automatically-created <a href="#D.Device:2.Device.DHCPv4.Server.Pool.Client."><em>Client</em></a> instances can be transitory.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DHCPv4.Relay.">Device.DHCPv4.Relay.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>DHCP Relay Agent (conditional relaying).</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DHCPv4.Relay.Forwarding.">Device.DHCPv4.Relay.Forwarding.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>DHCP Relay Agent Forwarding table.
For enabled table entries, if <a href="#D.Device:2.Device.DHCPv4.Relay.Forwarding.Interface"><em>Interface</em></a> is not a valid reference then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.DHCPv4.Relay.Forwarding.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.DHCPv4.Relay.Forwarding.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.DHCPv4.Relay.Forwarding.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.DHCPv4.Relay.Forwarding.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DHCPv4.Relay.Forwarding.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DHCPv6.">Device.DHCPv6.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The Dynamic Host Configuration Protocol (DHCP) IPv6 object [<a href="#R.RFC3315">RFC3315</a>]. This entire object applies to IPv6 only. It contains the <a href="#D.Device:2.Device.DHCPv6.Client."><em>Client</em></a> and <a href="#D.Device:2.Device.DHCPv6.Server."><em>Server</em></a> objects.</td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DHCPv6.Client.">Device.DHCPv6.Client.{i}.</span></td>
<td><span title="object(1:∞)">object(1:)</span></td>
<td>W</td>
<td><p>This object contains DHCPv6 client settings for an associated <em>IP Interface</em> indicated by <a href="#D.Device:2.Device.DHCPv6.Client.Interface"><em>Interface</em></a>.
For enabled table entries, if <a href="#D.Device:2.Device.DHCPv6.Client.Interface"><em>Interface</em></a> is not a valid reference to an IPv6-capable interface (that is attached to the IPv6 stack), then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.DHCPv6.Client.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.DHCPv6.Client.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.
Note: The <em>Client</em> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to an empty string. However, doing so under these circumstances might cause the updated <em>Client</em> row to then violate the table’s unique key constraint; if this occurs, the CPE MUST set <a href="#D.Device:2.Device.DHCPv6.Client.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.DHCPv6.Client.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a> and disable the offending <em>Client</em> row.</p>

<p>This table MUST contain at least 1 entry.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.DHCPv6.Client.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.DHCPv6.Client.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.DHCPv6.Client.Interface"><em>Interface</em></a>.</p></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DHCPv6.Client.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DHCPv6.Client.SentOption.">Device.DHCPv6.Client.{i}.SentOption.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>The top-level options and option values (including any encapsulated options) that the client will send to the server.
This table is intended only for options that are not part of the basic operation of the protocol, and whose values are simple, do not often change and are not modeled elsewhere. For example, it is appropriate for OPTION_USER_CLASS (whose value is a list of user classes) but is not appropriate for OPTION_RECONF_MSG (which is part of the protocol), OPTION_IA_NA (which is modeled via <a href="#D.Device:2.Device.DHCPv6.Client.RequestAddresses"><em>RequestAddresses</em></a>) or OPTION_RAPID_COMMIT (which is modeled via <a href="#D.Device:2.Device.DHCPv6.Client.RapidCommit"><em>RapidCommit</em></a>).</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.DHCPv6.Client.SentOption.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.DHCPv6.Client.SentOption.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.DHCPv6.Client.SentOption.Tag"><em>Tag</em></a>.</p></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DHCPv6.Client.SentOption.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DHCPv6.Server.">Device.DHCPv6.Server.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>DHCPv6 server configuration.</td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DHCPv6.Server.Pool.">Device.DHCPv6.Server.Pool.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>DHCPv6 server pool table.
Each instance of this object defines a DHCPv6 server pool. Client requests are associated with pools based on criteria such as source interface, supplied DHCPv6 options, and source address.
Overlapping pool ranges MUST be supported.
For enabled table entries, if <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Interface"><em>Interface</em></a> is not a valid reference to an IPv6-capable interface (that is attached to the IPv6 stack) then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Order"><em>Order</em></a>.</p></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DHCPv6.Server.Pool.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DHCPv6.Server.Pool.IANAManualPrefixes">IANAManualPrefixes</span></td>
<td>string[:8]()</td>
<td>W</td>
<td>Comma-separated list (up to 8 items) (length ) of strings. Each list item MUST be the Path Name of a row in the <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix."><em>IP.Interface.{i}.IPv6Prefix.</em></a> table. If the referenced object is deleted, the corresponding item MUST be removed from the list.
Manually-configured prefixes from which IA_NA addresses will be assigned. Each referenced prefix MUST have a <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.StaticType"><em>IP.Interface.{i}.IPv6Prefix.{i}.StaticType</em></a> of <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.StaticType.Static"><em>Static</em></a> or <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.StaticType.Child"><em>Child</em></a>. All clients that request IA_NA and match filter criteria on this <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Interface"><em>Interface</em></a> MUST be offered IA_NA addresses from all of the <em>Valid</em> (<a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.ValidLifetime"><em>IP.Interface.{i}.IPv6Prefix.{i}.ValidLifetime</em></a> is infinite or in the future) /64 prefixes in this list.
Prefixes MUST be associated with the interface instance referenced by <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Interface"><em>Interface</em></a>.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:8</a></em> list size</li></ul></div></td>
<td><em>&lt;Empty&gt;</em></td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DHCPv6.Server.Pool.IANAPrefixes">IANAPrefixes</span></td>
<td>string[:8]()</td>
<td>R</td>
<td><p>Comma-separated list (up to 8 items) (length ) of strings. Each list item MUST be the Path Name of a row in the <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix."><em>IP.Interface.{i}.IPv6Prefix.</em></a> table. If the referenced object is deleted, the corresponding item MUST be removed from the list.
All prefixes from which IA_NA addresses will be assigned. This list can include:</p>

<ul>
<li>Prefixes from <a href="#D.Device:2.Device.DHCPv6.Server.Pool.IANAManualPrefixes"><em>IANAManualPrefixes</em></a> that are used for IA_NA offers.</li>
<li>Prefixes with <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.Origin"><em>IP.Interface.{i}.IPv6Prefix.{i}.Origin</em></a> = <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.Origin.Child"><em>Child</em></a> or <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.Origin.AutoConfigured"><em>AutoConfigured</em></a> associated with the interface instance referenced by <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Interface"><em>Interface</em></a>.</li></ul>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:8</a></em> list size</li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DHCPv6.Server.Pool.IAPDManualPrefixes">IAPDManualPrefixes</span></td>
<td>string[:8]()</td>
<td>W</td>
<td><p>Comma-separated list (up to 8 items) (length ) of strings. Each list item MUST be the Path Name of a row in the <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix."><em>IP.Interface.{i}.IPv6Prefix.</em></a> table. If the referenced object is deleted, the corresponding item MUST be removed from the list.
Manually-configured prefixes from which IA_PD prefixes will be derived. This list can include:</p>

<ul>
<li>Prefixes with <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.Origin"><em>IP.Interface.{i}.IPv6Prefix.{i}.Origin</em></a> = <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.Origin.Static"><em>Static</em></a> or <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.Origin.PrefixDelegation"><em>PrefixDelegation</em></a> associated with upstream interfaces (i.e. interfaces for which the physical layer interface object has <em>Upstream</em> = <em>true</em>).</li>
<li>Prefixes with <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.StaticType"><em>IP.Interface.{i}.IPv6Prefix.{i}.StaticType</em></a> = <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.StaticType.Static"><em>Static</em></a> or <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.StaticType.Child"><em>Child</em></a> associated with with the interface instance referenced by <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Interface"><em>Interface</em></a>.
All clients that request IA_PD and match filter criteria on this <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Interface"><em>Interface</em></a> MUST be offered IA_PD prefixes derived from all of the <em>Valid</em> (<a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.ValidLifetime"><em>IP.Interface.{i}.IPv6Prefix.{i}.ValidLifetime</em></a> is infinite or in the future) prefixes in this list.</li></ul>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:8</a></em> list size</li></ul></div></td>
<td><em>&lt;Empty&gt;</em></td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DHCPv6.Server.Pool.IAPDPrefixes">IAPDPrefixes</span></td>
<td>string[:8]()</td>
<td>R</td>
<td><p>Comma-separated list (up to 8 items) (length ) of strings. Each list item MUST be the Path Name of a row in the <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix."><em>IP.Interface.{i}.IPv6Prefix.</em></a> table. If the referenced object is deleted, the corresponding item MUST be removed from the list.
All prefixes for which IA_PD prefixes will be assigned. This list can include:</p>

<ul>
<li>Prefixes from <a href="#D.Device:2.Device.DHCPv6.Server.Pool.IAPDManualPrefixes"><em>IAPDManualPrefixes</em></a> that are used for IA_PD offers.</li>
<li>Prefixes with <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.Origin"><em>IP.Interface.{i}.IPv6Prefix.{i}.Origin</em></a> = <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.Origin.PrefixDelegation"><em>PrefixDelegation</em></a> or <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.Origin.AutoConfigured"><em>AutoConfigured</em></a> associated with upstream interfaces (i.e. interfaces for which the physical layer interface object has <em>Upstream</em> = <em>true</em>).</li>
<li>Prefixes with <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.Origin"><em>IP.Interface.{i}.IPv6Prefix.{i}.Origin</em></a> = <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.Origin.Child"><em>Child</em></a> or <a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.Origin.AutoConfigured"><em>AutoConfigured</em></a> associated with the interface instance referenced by <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Interface"><em>Interface</em></a>.</li></ul>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <em><a>:8</a></em> list size</li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DHCPv6.Server.Pool.Client.">Device.DHCPv6.Server.Pool.{i}.Client.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>DHCPv6 client table.
This table lists details of DHCPv6 clients that matched the filter criteria of this <a href="#D.Device:2.Device.DHCPv6.Server.Pool."><em>Pool</em></a> entry.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Client.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Client.SourceAddress"><em>SourceAddress</em></a>.</p></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DHCPv6.Server.Pool.Client.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.
Note: There is no guarantee that the <em>Alias</em> value on automatically-created <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Client."><em>Client</em></a> instances will be retained. This is because automatically-created <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Client."><em>Client</em></a> instances can be transitory.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.DHCPv6.Server.Pool.Option.">Device.DHCPv6.Server.Pool.{i}.Option.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This object specifies the DHCPv6 options that MUST, if enabled, be offered to clients whose DHCPv6 requests are associated with this pool. If <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Option.PassthroughClient"><em>PassthroughClient</em></a> is specified, and the referenced client has a value for a given option then the <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Option.PassthroughClient"><em>PassthroughClient</em></a> option value will be sent instead of <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Option.Value"><em>Value</em></a>. Otherwise, <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Option.Value"><em>Value</em></a> will be sent.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Option.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Option.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.DHCPv6.Server.Pool.Option.Tag"><em>Tag</em></a>.</p></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.DHCPv6.Server.Pool.Option.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IEEE8021x.">Device.IEEE8021x.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>IEEE 802.1x object [<a href="#R.802.1x-2004">802.1x-2004</a>], where <a href="#D.Device:2.Device.IEEE8021x.Supplicant."><em>Supplicant</em></a> models authentication supplicants.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IEEE8021x.Supplicant.">Device.IEEE8021x.Supplicant.{i}.</span></td>
<td><span title="object(1:∞)">object(1:)</span></td>
<td>W</td>
<td><p>802.1x supplicant authentication provisioning and status information associated with an interface to be authenticated (e.g. an <a href="#D.Device:2.Device.Ethernet.Link."><em>Ethernet.Link</em></a> instance).
For enabled table entries, if <a href="#D.Device:2.Device.IEEE8021x.Supplicant.Interface"><em>Interface</em></a> is not a valid reference then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.IEEE8021x.Supplicant.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.IEEE8021x.Supplicant.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.
Note: The <em>Supplicant</em> table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to an empty string. However, doing so under these circumstances might cause the updated <em>Supplicant</em> row to then violate the table’s unique key constraint; if this occurs, the CPE MUST set <a href="#D.Device:2.Device.IEEE8021x.Supplicant.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.IEEE8021x.Supplicant.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a> and disable the offending <em>Supplicant</em> row.</p>

<p>This table MUST contain at least 1 entry.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.IEEE8021x.Supplicant.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.IEEE8021x.Supplicant.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.IEEE8021x.Supplicant.Interface"><em>Interface</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IEEE8021x.Supplicant.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IEEE8021x.Supplicant.Reset">Reset</span></td>
<td>boolean</td>
<td>W</td>
<td>When set to <em>true</em>, the device MUST reset the session by performing an initial authentication attempt as defined in [<a href="#R.802.1x-2004">Section 9.6.1.3/802.1x-2004</a>], Initialize Port by sending out the EAP start message.
The device MUST initiate the reset after completion of the current CWMP session. The device MAY delay resetting the resource in order to avoid interruption of a user service such as an ongoing voice call.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>boolean</em> syntax hidden = <em>true</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IEEE8021x.Supplicant.Disconnect">Disconnect</span></td>
<td>boolean</td>
<td>W</td>
<td>When set to <em>true</em>, the device MUST disconnect (forced unauthentication) the resource.
The device MUST initiate the disconnect after completion of the current CWMP session. The device MAY delay re-authentication of the resource in order to avoid interruption of a user service such as an ongoing voice call.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>boolean</em> syntax hidden = <em>true</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.SmartCardReaders.">Device.SmartCardReaders.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>SmartCardReaders object that contains the <a href="#D.Device:2.Device.SmartCardReaders.SmartCardReader."><em>SmartCardReader</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.SmartCardReaders.SmartCardReader.">Device.SmartCardReaders.SmartCardReader.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This object describes the characteristics of the smart card reader.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.SmartCardReaders.SmartCardReader.Name"><em>Name</em></a>, or with a given value for <a href="#D.Device:2.Device.SmartCardReaders.SmartCardReader.Alias"><em>Alias</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.SmartCardReaders.SmartCardReader.Reset">Reset</span></td>
<td>boolean</td>
<td>W</td>
<td>When set to <em>true</em>, resets the SmartCard Reader and the associated SmartCard.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>boolean</em> syntax hidden = <em>true</em></li>
<li>Added <em>boolean</em> syntax command = <em>true</em></li></ul></div></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Firewall.">Device.Firewall.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Firewall configuration object. The <a href="#D.Device:2.Device.Firewall.Config"><em>Config</em></a> parameter enables and disables the Firewall, and can select either a predefined configuration (<a href="#D.Device:2.Device.Firewall.Config.High"><em>High</em></a> or <a href="#D.Device:2.Device.Firewall.Config.Low"><em>Low</em></a>) or an explicitly-defined <a href="#D.Device:2.Device.Firewall.Config.Advanced"><em>Advanced</em></a> configuration.
For an <a href="#D.Device:2.Device.Firewall.Config.Advanced"><em>Advanced</em></a> configuration, <a href="#D.Device:2.Device.Firewall.AdvancedLevel"><em>AdvancedLevel</em></a> controls the currently active Firewall Level, and the Firewall Levels are defined in the <a href="#D.Device:2.Device.Firewall.Level."><em>Level</em></a>, <a href="#D.Device:2.Device.Firewall.Chain."><em>Chain</em></a> and <a href="#D.Device:2.Device.Firewall.Chain.Rule."><em>Chain.{i}.Rule</em></a> tables.
The Firewall rules modeled by this object operate only on the forwarding path. This means that they affect only routed traffic, and do not affect traffic that is destined for or generated by the CPE. Note that any <a href="#D.Device:2.Device.NAT."><em>NAT</em></a> processing on the ingress packet occurs before Firewall rules are applied so, for example, the Firewall rules will see the translated destination IP address and port in a downstream packet that has passed through the NAT.
See [<a href="#R.TR-181i2a2">Appendix VIII/TR-181i2a2</a>] for an example <a href="#D.Device:2.Device.Firewall.Config.Advanced"><em>Advanced</em></a> configuration.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Firewall.Level.">Device.Firewall.Level.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Firewall Level table. When an <a href="#D.Device:2.Device.Firewall.Config.Advanced"><em>Advanced</em></a> configuration is selected, <a href="#D.Device:2.Device.Firewall.AdvancedLevel"><em>AdvancedLevel</em></a> selects the currently active entry in this table. Each <em>Level</em> table entry references the <a href="#D.Device:2.Device.Firewall.Chain."><em>Chain</em></a> that contains the rules for this level.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.Firewall.Level.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.Firewall.Level.Name"><em>Name</em></a>. On creation of a new table entry, the Agent MUST choose initial values for <a href="#D.Device:2.Device.Firewall.Level.Alias"><em>Alias</em></a> and <a href="#D.Device:2.Device.Firewall.Level.Name"><em>Name</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Firewall.Level.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Firewall.Chain.">Device.Firewall.Chain.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Firewall Chain table. Each entry contains an ordered list of <a href="#D.Device:2.Device.Firewall.Chain.Rule."><em>Rule</em></a> objects which can themselves reference other <em>Chain</em> instances. A hierarchy of rules can therefore be created.
A given Firewall Chain’s rules are all created by the same entity, as indicated by the <a href="#D.Device:2.Device.Firewall.Chain.Creator"><em>Creator</em></a> parameter.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.Firewall.Chain.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.Firewall.Chain.Name"><em>Name</em></a>. On creation of a new table entry, the Agent MUST choose initial values for <a href="#D.Device:2.Device.Firewall.Chain.Alias"><em>Alias</em></a> and <a href="#D.Device:2.Device.Firewall.Chain.Name"><em>Name</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Firewall.Chain.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.Firewall.Chain.Rule.">Device.Firewall.Chain.{i}.Rule.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Firewall Rule table. Each entry defines a Firewall packet selection rule. The <a href="#D.Device:2.Device.Firewall.Chain.Rule.Target"><em>Target</em></a> parameter defines the action to perform for traffic matching this rule: the packet can be dropped, accepted, rejected or passed to another <a href="#D.Device:2.Device.Firewall.Chain."><em>Chain</em></a>.
This table MUST NOT contain dynamic Firewall rules associated with <a href="#D.Device:2.Device.Firewall.Type.Stateful"><em>Stateful</em></a> Firewall sessions.
All entries are created by the creator of the parent <a href="#D.Device:2.Device.Firewall.Chain."><em>Chain</em></a>, as indicated by its <a href="#D.Device:2.Device.Firewall.Chain.Creator"><em>Creator</em></a> parameter. <em>Rule</em> entries in a <a href="#D.Device:2.Device.Firewall.Chain."><em>Chain</em></a> with a <a href="#D.Device:2.Device.Firewall.Chain.Creator"><em>Creator</em></a> of <a href="#D.Device:2.Device.Firewall.Chain.Creator.Defaults"><em>Defaults</em></a>, <a href="#D.Device:2.Device.Firewall.Chain.Creator.ACS"><em>ACS</em></a>, <a href="#D.Device:2.Device.Firewall.Chain.Creator.UserInterface"><em>UserInterface</em></a> or (maybe) <a href="#D.Device:2.Device.Firewall.Chain.Creator.Other"><em>Other</em></a> are referred to as <em>Static</em> <em>Rule</em>s. Whether or not a <em>Rule</em> in a <a href="#D.Device:2.Device.Firewall.Chain."><em>Chain</em></a> with <a href="#D.Device:2.Device.Firewall.Chain.Creator"><em>Creator</em></a> <a href="#D.Device:2.Device.Firewall.Chain.Creator.Other"><em>Other</em></a> is regarded as <em>Static</em> is a local matter to the CPE. Some of this object’s parameter descriptions refer to whether a <em>Rule</em> is <em>Static</em> when specifying whether or not the parameter value can be modified.
For enabled table entries, if <a href="#D.Device:2.Device.Firewall.Chain.Rule.SourceInterface"><em>SourceInterface</em></a> is not a valid reference and <a href="#D.Device:2.Device.Firewall.Chain.Rule.SourceAllInterfaces"><em>SourceAllInterfaces</em></a> is <em>false</em>, or if <a href="#D.Device:2.Device.Firewall.Chain.Rule.DestInterface"><em>DestInterface</em></a> is not a valid reference and <a href="#D.Device:2.Device.Firewall.Chain.Rule.DestAllInterfaces"><em>DestAllInterfaces</em></a> is <em>false</em>, then the table entry is inoperable and the CPE MUST set <a href="#D.Device:2.Device.Firewall.Chain.Rule.Status"><em>Status</em></a> to <a href="#D.Device:2.Device.Firewall.Chain.Rule.Status.Error_Misconfigured"><em>Error_Misconfigured</em></a>.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.Firewall.Chain.Rule.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.Firewall.Chain.Rule.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.Firewall.Chain.Rule.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.2</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.PeriodicStatistics.">Device.PeriodicStatistics.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object configures collection of periodic statistics for the device.
Periodic statistics are measured over a sample interval (which can be aligned with absolute time) and are made available to the ACS as a comma-separated list of the most recent <n> samples.
This object provides a single set of global settings that affect the entire device unless overridden locally.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.PeriodicStatistics.SampleSet.">Device.PeriodicStatistics.SampleSet.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Periodic statistics sample set table. Each sample set has its own sample interval etc.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.PeriodicStatistics.SampleSet.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.PeriodicStatistics.SampleSet.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.PeriodicStatistics.SampleSet.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.PeriodicStatistics.SampleSet.ForceSample">ForceSample</span></td>
<td>boolean</td>
<td>W</td>
<td>When set to <em>true</em>, forces statistics for the current sample to be calculated and updated in the data model. Setting it to <em>false</em> has no effect. When read, this parameter returns <em>false</em>, regardless of the actual value.
If this is the first time that <em>ForceSample</em> has been set to <em>true</em> during the current sample interval, this MUST cause a new value to be added to each of the periodic statistics comma-separated list parameters, and the <a href="#D.Device:2.Device.PeriodicStatistics.SampleSet.ReportEndTime"><em>ReportEndTime</em></a> and all <a href="#D.Device:2.Device.PeriodicStatistics.SampleSet.SampleSeconds"><em>SampleSeconds</em></a> parameters MUST be updated accordingly.
If this is not the first time that <em>ForceSample</em> has been set to <em>true</em> during the current sample interval, then the new values that were added as described in the previous paragraph, and the <a href="#D.Device:2.Device.PeriodicStatistics.SampleSet.ReportEndTime"><em>ReportEndTime</em></a> and all <a href="#D.Device:2.Device.PeriodicStatistics.SampleSet.SampleSeconds"><em>SampleSeconds</em></a> parameters, MUST be updated accordingly.
Note that <em>ForceSample</em> just provides a &ldquo;sneak preview&rdquo; of the current sample. It does not create a new sample and it does not interfere with the sample interval schedule.
At the end of each sample interval, if <em>ForceSample</em> was set to <em>true</em> during the sample interval then the new values that were added as described above, and the <a href="#D.Device:2.Device.PeriodicStatistics.SampleSet.ReportEndTime"><em>ReportEndTime</em></a> and all <a href="#D.Device:2.Device.PeriodicStatistics.SampleSet.SampleSeconds"><em>SampleSeconds</em></a> parameters, will be updated accordingly. In other words, the partial sample data that was created when <em>ForceSample</em> was set to <em>true</em> will be updated one last time at the end of the sample interval.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>boolean</em> syntax hidden = <em>true</em></li>
<li>Added <em>boolean</em> syntax command = <em>true</em></li></ul></div></td>
<td>false</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.BulkData.">Device.BulkData.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object provides bulk data collection capabilities and global collection settings that affect the entire device.
Bulk Data utilizes various solutions (e.g., IPDR, HTTP) to collect data from devices and transfer the data to a collection server.
The IPDR solution is based on a service specification described in [<a href="#R.TR-232">TR-232</a>].
The HTTP solution is based on transfer mechanisms described in [<a href="#R.TR-157a10">Annex A/TR-157a10</a>].
The Bulk Data Collection Profiles are measured over a reporting interval (which can be aligned with absolute time) and are made available to the collection server.</td>
<td>-</td>
<td>2.5</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.BulkData.Profile.">Device.BulkData.Profile.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>A set of Bulk Data Collection profiles.
Each profile represents a bulk data report, including its own timing configuration, communications configuration, and set of parameters. This allows the ACS to configure multiple reports to be generated at different times for different sets of data.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.BulkData.Profile.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.BulkData.Profile.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.5</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.BulkData.Profile.StreamingPort">StreamingPort</span></td>
<td>unsignedInt(0:65535)</td>
<td>W</td>
<td>This is the port number of the IPDR Collector to be used by the CPE to stream bulk data records if this collection profile is configured for the IPDR Streaming Protocol [<a href="#R.IPDR-SP">IPDR-SP</a>] (the <a href="#D.Device:2.Device.BulkData.Profile.Protocol"><em>Protocol</em></a> parameter has a value of <a href="#D.Device:2.Device.BulkData.Protocols.Streaming"><em>Streaming</em></a>).

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>4737</em> default <em>This is the IANA default port for [<a href="#R.IPDR-SP">IPDR-SP</a>]</em> description</li></ul></div></td>
<td>4737</td>
<td>2.5</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.BulkData.Profile.StreamingSessionID">StreamingSessionID</span></td>
<td>unsignedInt(48:57,65:90)</td>
<td>W</td>
<td>This is the unique identification of an IPDR Session to be used when this collection profile is configured for the IPDR Streaming Protocol [<a href="#R.IPDR-SP">IPDR-SP</a>] (the <a href="#D.Device:2.Device.BulkData.Profile.Protocol"><em>Protocol</em></a> parameter has a value of <a href="#D.Device:2.Device.BulkData.Protocols.Streaming"><em>Streaming</em></a>).
An ACS MUST NOT configure multiple IPDR Streaming Protocol collection profiles with the same <em>StreamingSessionID</em>. Doing so MUST cause the CPE to fail the SetParameterValues.
Within the IPDR Streaming Protocol specification the Session ID has a type of a single &lsquo;char&rsquo;, but we are restricting the range even further (ASCII values of &lsquo;0&rsquo; - &lsquo;9&rsquo; and &lsquo;A&rsquo; - &lsquo;Z&rsquo;.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>48:57</em> range <em>ASCII values of &lsquo;0&rsquo; - &lsquo;9&rsquo;</em> description</li>
<li>Removed <em>65:90</em> range <em>ASCII values of &lsquo;A&rsquo; - &lsquo;Z&rsquo;</em> description</li></ul></div></td>
<td>-</td>
<td>2.5</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.BulkData.Profile.HTTP.">Device.BulkData.Profile.{i}.HTTP.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object defines the properties to be used when transporting bulk data using the HTTP/HTTPS protocol. This object is used when the <a href="#D.Device:2.Device.BulkData.Profile.Protocol"><em>Protocol</em></a> parameter has a value of <a href="#D.Device:2.Device.BulkData.Protocols.HTTP"><em>HTTP</em></a>. For authentication purposes the CPE MUST support HTTP Basic and Digest Access Authentication as defined in [<a href="#R.RFC2616">RFC2616</a>].

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added <a href="#D.Device:2.Device.BulkData.Profile.HTTP.PersistAcrossReboot"><em>PersistAcrossReboot</em></a> parameter</li></ul></div></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.BulkData.Profile.HTTP.PersistAcrossReboot">PersistAcrossReboot</span></td>
<td>boolean</td>
<td>W</td>
<td>Determines whether or not data transfers that have failed are required to be persisted across reboots.
If <em>PersistAcrossReboot</em> is <em>true</em>, then failed data transfers MUST be persisted across reboots.
If <em>PersistAcrossReboot</em> is <em>false</em>, then failed data transfers are not required to be persisted across reboots.</td>
<td>false</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.BulkData.Profile.HTTP.RequestURIParameter.">Device.BulkData.Profile.{i}.HTTP.RequestURIParameter.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td>This object represents an instance of a parameter to be used in the report header used as part of the HTTP Request-URI transmitted by the CPE to the collection server using the Request-URI in addition to the parameters required by [<a href="#R.TR-157a10">Annex A.2.1/TR-157a10</a>].</td>
<td>-</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.BulkData.Profile.HTTP.RequestURIParameter.Reference">Reference</span></td>
<td>string(:256)</td>
<td>W</td>
<td>The value MUST be the path name of<span class="inserted"> a parameter to be used as</span> the Request-URI parameter. If the value of this parameter is empty, then this object is not encoded in the report header.</td>
<td><em>&lt;Empty&gt;</em></td>
<td>2.10</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.XMPP.">Device.XMPP.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The <em>XMPP</em> represents the XMPP capabilities of the device as described in [<a href="#R.TR-069a5">Appendix III/TR-069a5</a>].</td>
<td>-</td>
<td>2.7</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.XMPP.SupportedServerConnectAlgorithms">SupportedServerConnectAlgorithms</span></td>
<td>string[]</td>
<td>R</td>
<td><p>Comma-separated list of strings. The algorithms supported by the CPE for resolving XMPP server addresses and ports. Each list item is an enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.XMPP.SupportedServerConnectAlgorithms.DNS-SRV"><em>DNS-SRV</em></span> (Use the preferred connection algorithm as specified in [<a href="#R.RFC6120">Section 3.2.1/RFC6120</a>] where the value of the <a href="#D.Device:2.Device.XMPP.Connection.Domain"><em>Connection.{i}.Domain</em></a> parameter is used to look up the server address and port to use)</li>
<li><span id="D.Device:2.Device.XMPP.SupportedServerConnectAlgorithms.DNS"><em>DNS</em></span> (Use the fallback connection mechanism as specified in [<a href="#R.RFC6120">Section 3.2.2/RFC6120</a>], where the value of the <a href="#D.Device:2.Device.XMPP.Connection.Domain"><em>Connection.{i}.Domain</em></a> parameter is used to look up the server address, and the port is the <em>xmpp-client</em> port (5222))</li>
<li><span id="D.Device:2.Device.XMPP.SupportedServerConnectAlgorithms.ServerTable"><em>ServerTable</em></span> (Use the instances of the <a href="#D.Device:2.Device.XMPP.Connection.Server."><em>Connection.{i}.Server</em></a> table based on the values of the <a href="#D.Device:2.Device.XMPP.Connection.Server.Priority"><em>Connection.{i}.Server.{i}.Priority</em></a> and <a href="#D.Device:2.Device.XMPP.Connection.Server.Weight"><em>Connection.{i}.Server.{i}.Weight</em></a> parameters as the basis for reconnect. Instances MUST be reachable and reachable instances with the lowest value MUST be preferred)</li>
<li><span id="D.Device:2.Device.XMPP.SupportedServerConnectAlgorithms.WebSocket"><em>WebSocket</em></span> (Use the discovery and connection algorithm as specified in [<a href="#R.RFC7395">Section 4/RFC7395</a>] where the value of the <a href="#D.Device:2.Device.XMPP.Connection.Domain"><em>Connection.{i}.Domain</em></a> parameter is used to create a secure HTTP request to discover the URL to use for the XMPP over WebSocket connection)</li></ul>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Added string <em>WebSocket</em> enumeration</li>
<li>Added <em>string[]</em> syntax <em>[]</em> list</li></ul></div></td>
<td>-</td>
<td>2.11</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.XMPP.Connection.">Device.XMPP.Connection.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>The <em>Connection</em> represents a XMPP connection between the device and a server. The <a href="#D.Device:2.Device.XMPP.Connection.Username"><em>Username</em></a>, <a href="#D.Device:2.Device.XMPP.Connection.Domain"><em>Domain</em></a> and <a href="#D.Device:2.Device.XMPP.Connection.Resource"><em>Resource</em></a> comprise the full identity (JabberID) of this <em>Connection</em> for this device.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.XMPP.Connection.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.XMPP.Connection.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with the same values for all of <a href="#D.Device:2.Device.XMPP.Connection.Username"><em>Username</em></a>, <a href="#D.Device:2.Device.XMPP.Connection.Domain"><em>Domain</em></a> and <a href="#D.Device:2.Device.XMPP.Connection.Resource"><em>Resource</em></a>.</p></td>
<td>-</td>
<td>2.7</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.XMPP.Connection.ServerConnectAlgorithm">ServerConnectAlgorithm</span></td>
<td>string</td>
<td>W</td>
<td>The value MUST be a member of the list reported by the <a href="#D.Device:2.Device.XMPP.SupportedServerConnectAlgorithms"><em>SupportedServerConnectAlgorithms</em></a> parameter. The algorithm the <a href="#D.Device:2.Device.XMPP.Connection."><em>Connection</em></a> uses when connecting with the associated lists of servers.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed string <em>DNS-SRV</em> enumeration</li>
<li>Removed string <em>ServerTable</em> enumeration</li></ul></div></td>
<td>DNS-SRV</td>
<td>2.7</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IEEE1905.">Device.IEEE1905.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object represents the management functions for the 1905 capabilities as defined in [<a href="#R.IEEE1905.1a">IEEE1905.1a</a>].</td>
<td>-</td>
<td>2.9</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IEEE1905.AL.">Device.IEEE1905.AL.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object represents the management functions for the 1905 Abstraction Layer as defined in [<a href="#R.IEEE1905.1a">Section 4.4 Abstraction Layer/IEEE1905.1a</a>].</td>
<td>-</td>
<td>2.9</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IEEE1905.AL.ForwardingTable.">Device.IEEE1905.AL.ForwardingTable.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object represents the rules to forward PDUs between interfaces within the 1905 Abstraction Layer.</td>
<td>-</td>
<td>2.9</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IEEE1905.AL.ForwardingTable.ForwardingRule.">Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td>The 1905 fowarding rule for the ALME-SET-FWD-RULE.request and ALME-GET-FWD-RULES.response with classification criteria as defined in [<a href="#R.IEEE1905.1a">Table 5-9: ClassificationSet elements/IEEE1905.1a</a>].</td>
<td>-</td>
<td>2.9</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IEEE1905.AL.ForwardingTable.ForwardingRule.InterfaceList">InterfaceList</span></td>
<td>string(:256)[]</td>
<td>W</td>
<td>The list of interfaces to which a frame satisfying the following classification criteria should be forwarded (intfAddressList parameter as defined in [<a href="#R.IEEE1905.1a">Table 5-8: ALME-SET-FWD-RULE.request parameters and Table 5-12: fwdRuleList elements/IEEE1905.1a</a>]). Comma-separated list of strings (maximum number of characters per item 256). Each list item MUST be the path name of an object, which MUST be a row of an <a href="#D.Device:2.Device.IEEE1905.AL.Interface."><em>Interface</em></a> object. If the referenced item is deleted, the corresponding item MUST be removed from the list.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>[]</em> list *
* cdata</li></ul></div></td>
<td><em>&lt;Empty&gt;</em></td>
<td>2.9</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IEEE1905.AL.ForwardingTable.ForwardingRule.EtherType">EtherType</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>Classification criterion.
Ether Type Field in a frame.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed unsignedInt *
* cdata</li></ul></div></td>
<td>-</td>
<td>2.9</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IEEE1905.AL.NetworkTopology.">Device.IEEE1905.AL.NetworkTopology.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object represents the 1905 Network Topology capabilities of this device.</td>
<td>-</td>
<td>2.9</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.">Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This object represents an instance of discovered 1905 Devices in the network (received Topology discovery message as defined in [<a href="#R.IEEE1905.1a">Clause 6.3.1/IEEE1905.1a</a>]).</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.IEEE1905Id"><em>IEEE1905Id</em></a>.</p></td>
<td>-</td>
<td>2.9</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.BridgingTuple.">Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.BridgingTuple.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td>This object represents an instance of an <em>BridgingTuple</em> for the <a href="#D.Device:2.Device.IEEE1905.AL.NetworkTopology.IEEE1905Device."><em>IEEE1905Device</em></a>. These values come from the 1905 Device’s Topology response message as defined in [<a href="#R.IEEE1905.1a">Table 6-11: Device bridging capability TLV/IEEE1905.1a</a>].</td>
<td>-</td>
<td>2.9</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.BridgingTuple.InterfaceList">InterfaceList</span></td>
<td>string(:256)[]</td>
<td>R</td>
<td>Comma-separated list of strings (maximum number of characters per item 256). Each list item MUST be the Path Name of a row in the <a href="#D.Device:2.Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.Interface."><em>IEEE1905Device.{i}.Interface.</em></a> table. If the referenced object is deleted, the corresponding item MUST be removed from the list.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>[]</em> list *
* cdata</li></ul></div></td>
<td>-</td>
<td>2.9</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.IEEE1905.AL.Security.">Device.IEEE1905.AL.Security.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object represents the Security configuration for the 1905 device as defined in [<a href="#R.IEEE1905.1a">Section 9.2 Security Setup Methods/IEEE1905.1a</a>].</td>
<td>-</td>
<td>2.9</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.IEEE1905.AL.Security.Password">Password</span></td>
<td>string</td>
<td>W</td>
<td><p>1905 network passphrase for generating security keys.</p>

<p>When read, this parameter returns an empty string, regardless of the actual value.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed string *
* cdata</li></ul></div></td>
<td>-</td>
<td>2.9</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.MQTT.">Device.MQTT.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>MQTT Base object describing all MQTT related parameters and objects [<a href="#R.MQTT31">MQTT31</a>],</td>
<td>-</td>
<td>2.10</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.MQTT.Client.">Device.MQTT.Client.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>MQTT client table. Contains a list of configured MQTT clients.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.MQTT.Client.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.MQTT.Client.Name"><em>Name</em></a>. On creation of a new table entry, the Agent MUST choose initial values for <a href="#D.Device:2.Device.MQTT.Client.Alias"><em>Alias</em></a> and <a href="#D.Device:2.Device.MQTT.Client.Name"><em>Name</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.ForceReconnect">ForceReconnect</span></td>
<td>boolean</td>
<td>W</td>
<td>Disconnects the MQTT client from the MQTT broker and reconnects it again (toggle connection). It is only effective if the MQTT client is currently connected to the MQTT broker (Parameter <a href="#D.Device:2.Device.MQTT.Client.Status"><em>Status</em></a> is <a href="#D.Device:2.Device.MQTT.Client.Status.Connected"><em>Connected</em></a>).
If the MQTT client is in a different state, the parameter has no effect.
This action parameter may be used to immediately apply changes in the MQTT connection settings.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>boolean</em> syntax hidden = <em>true</em></li>
<li>Added <em>boolean</em> syntax command = <em>true</em></li></ul></div></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.WillTopic">WillTopic</span></td>
<td>string</td>
<td>W</td>
<td>The Topic sent in the Will Message (see [<a href="#R.MQTT31">Section 3.1/MQTT31</a>] and [<a href="#R.MQTT311">Section 3.1.2.5/MQTT311</a>]). This parameter is only used if <a href="#D.Device:2.Device.MQTT.Client.WillEnable"><em>WillEnable</em></a> is set to <em>true</em>.
A change of this parameter is only communicated to the MQTT broker with the next MQTT CONNECT message.
If the will handling is enabled (Paramter <a href="#D.Device:2.Device.MQTT.Client.WillEnable"><em>WillEnable</em></a> is set to <em>true</em>) and the change needs to be applied immediately, the parameter <a href="#D.Device:2.Device.MQTT.Client.ForceReconnect"><em>ForceReconnect</em></a> has to be set as well.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed string *
* cdata</li></ul></div></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Client.WillValue">WillValue</span></td>
<td>string</td>
<td>W</td>
<td>The value sent in the Will Message (see [<a href="#R.MQTT31">Section 3.1/MQTT31</a>] and [<a href="#R.MQTT311">Section 3.1.2.5/MQTT311</a>]). This parameter is only used if <a href="#D.Device:2.Device.MQTT.Client.WillEnable"><em>WillEnable</em></a> is set to <em>true</em>.
A change of this parameter is only communicated to the MQTT broker with the next MQTT CONNECT message.
If the will handling is enabled (Paramter <a href="#D.Device:2.Device.MQTT.Client.WillEnable"><em>WillEnable</em></a> is set to <em>true</em>) and the change needs to be applied immediately, the parameter <a href="#D.Device:2.Device.MQTT.Client.ForceReconnect"><em>ForceReconnect</em></a> has to be set as well.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed string *
* cdata</li></ul></div></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.MQTT.Broker.">Device.MQTT.Broker.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>MQTT broker table. Contains a list of configured MQTT brokers.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.MQTT.Broker.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.MQTT.Broker.Name"><em>Name</em></a>. On creation of a new table entry, the Agent MUST choose initial values for <a href="#D.Device:2.Device.MQTT.Broker.Alias"><em>Alias</em></a> and <a href="#D.Device:2.Device.MQTT.Broker.Name"><em>Name</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.MQTT.Broker.Bridge.">Device.MQTT.Broker.{i}.Bridge.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>Configures MQTT bridges, which are used to communicate with other MQTT brokers.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Name"><em>Name</em></a>. On creation of a new table entry, the Agent MUST choose initial values for <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Alias"><em>Alias</em></a> and <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Name"><em>Name</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Broker.Bridge.ForceReconnect">ForceReconnect</span></td>
<td>boolean</td>
<td>W</td>
<td>Disconnects the MQTT bridge to the remote MQTT broker and reconnects it again (toggle connection). It is only effective if the MQTT bridge is currently connected to the remote MQTT broker (Parameter <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Status"><em>Status</em></a> is <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Status.Connected"><em>Connected</em></a>).
If the MQTT bridge is in a different state, the parameter has no effect.
This action parameter may be used to immediately apply changes in the MQTT connection settings.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>boolean</em> syntax hidden = <em>true</em></li>
<li>Added <em>boolean</em> syntax command = <em>true</em></li></ul></div></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.MQTT.Broker.Bridge.Subscription.">Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>List of MQTT subscriptions handled over the bridge.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with the same values for both <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.Topic"><em>Topic</em></a> and <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.Direction"><em>Direction</em></a>.</p></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Broker.Bridge.Subscription.LocalPrefix">LocalPrefix</span></td>
<td>string</td>
<td>W</td>
<td><p>The local prefix is used for remapping received topics to the local topics of the MQTT broker and to select the topics to be sent over bridge to the remote MQTT broker. * In incoming direction (<a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.Direction"><em>Direction</em></a> is either <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.Direction.in"><em>in</em></a> or <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.Direction.both"><em>both</em></a>):</p>

<blockquote>For remote topics received over the bridge the MQTT broker adds the LocalPrefix in front of the received topic, before processing it.</blockquote>

<blockquote><blockquote><ul>
<li><ul>
<li></li></ul></li></ul></blockquote></blockquote>

<blockquote><em>Example:</em></blockquote>

<blockquote><blockquote>Topic is &ldquo;/bus/+&rdquo;, LocalPrefix is &ldquo;/local&rdquo;, Direction is &ldquo;in&rdquo;</blockquote></blockquote>

<blockquote><blockquote>MQTT broker receives message with topic &ldquo;/bus/tr181&rdquo; over bridge =&gt; MQTT broker uses topic &ldquo;/local/bus/tr181&rdquo; for internal processing</blockquote></blockquote>

<p><span class="inserted"> </span>* In outgoing direction (<a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.Direction"><em>Direction</em></a> is either <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.Direction.out"><em>out</em></a> or <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.Direction.both"><em>both</em></a>):</p>

<blockquote>For selection of the topics to be sent over the bridge the MQTT broker uses the combination of <em>LocalPrefix</em> and <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.Topic"><em>Topic</em></a> to match the topics to be sent over bridge, and removes the <em>LocalPrefix</em> from the selected topic before sending it over the bridge.</blockquote>

<blockquote><blockquote><ul>
<li><ul>
<li></li></ul></li></ul></blockquote></blockquote>

<blockquote><em>Example:</em></blockquote>

<blockquote><blockquote>Topic is &ldquo;/bus/+&rdquo;, LocalPrefix is &ldquo;/local&rdquo;, Direction is &ldquo;out&rdquo;</blockquote></blockquote>

<blockquote><blockquote>MQTT broker receives message with topic &ldquo;/local/bus/tr181&rdquo; from a MQTT client =&gt; MQTT broker sends topic &ldquo;/bus/tr181&rdquo; to remote MQTT broker</blockquote></blockquote>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed string *
* cdata</li></ul></div></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.MQTT.Broker.Bridge.Subscription.RemotePrefix">RemotePrefix</span></td>
<td>string</td>
<td>W</td>
<td><p>The remote prefix is used for remapping topics to the remote MQTT broker topic lists. * In incoming direction (<a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.Direction"><em>Direction</em></a> is either <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.Direction.in"><em>in</em></a> or <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.Direction.both"><em>both</em></a>):</p>

<blockquote>For remote topics received over the bridge the MQTT broker removes the remote prefix topic from the received topic (before handling the <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.LocalPrefix"><em>LocalPrefix</em></a>), before processing it.</blockquote>

<blockquote><blockquote><ul>
<li><ul>
<li></li></ul></li></ul></blockquote></blockquote>

<blockquote><em>Example:</em></blockquote>

<blockquote><blockquote>Topic is &ldquo;/bus/+&rdquo;, LocalPrefix is &ldquo;/local&rdquo;, RemotePrefix is &ldquo;/remote&rdquo;, Direction is &ldquo;in&rdquo;</blockquote></blockquote>

<blockquote><blockquote>MQTT broker receives message with topic &ldquo;/remote/bus/tr181&rdquo; over bridge =&gt; MQTT broker uses topic &ldquo;/local/bus/tr181&rdquo; for internal processing</blockquote></blockquote>

<blockquote>During activation of the bridge, the MQTT broker prepends the <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.Topic"><em>Topic</em></a> with <em>RemotePrefix</em> topic and subscribes to the remote MQTT broker with it, in order to receive all applicable remote topics.</blockquote>

<blockquote><blockquote><ul>
<li><ul>
<li></li></ul></li></ul></blockquote></blockquote>

<blockquote><em>Example:</em></blockquote>

<blockquote><blockquote>Topic is &ldquo;/bus/+&rdquo;, RemotePrefix is &ldquo;/remote&rdquo;, Direction is &ldquo;in&rdquo;</blockquote></blockquote>

<blockquote><blockquote>MQTT broker sends a subscription to the remote MQTT broker with the topic &ldquo;/remote/bus/+&rdquo;.</blockquote></blockquote>

<p><span class="inserted"> </span>* In outgoing direction (<a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.Direction"><em>Direction</em></a> is either <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.Direction.out"><em>out</em></a> or <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.Direction.both"><em>both</em></a>):</p>

<blockquote>For all topics to be sent over the bridge (<a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.Direction"><em>Direction</em></a> is either <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.Direction.out"><em>out</em></a> or <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.Direction.both"><em>both</em></a>), the RemotePrefix will be prepended to the topic after the <a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.LocalPrefix"><em>LocalPrefix</em></a> has been processed and before sending the message over the bridge.</blockquote>

<blockquote><blockquote><ul>
<li><ul>
<li></li></ul></li></ul></blockquote></blockquote>

<blockquote><em>Example:</em></blockquote>

<blockquote><blockquote>Topic is &ldquo;/bus/+&rdquo;, LocalPrefix is &ldquo;/local&rdquo;, RemotePrefix is &ldquo;/remote&rdquo; Direction is &ldquo;out&rdquo;</blockquote></blockquote>

<blockquote><blockquote>MQTT broker receives message with topic &ldquo;/local/bus/tr181&rdquo; from a MQTT client =&gt; MQTT broker sends topic &ldquo;/remote/bus/tr181&rdquo; to remote MQTT broker</blockquote></blockquote>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed string *
* cdata</li></ul></div></td>
<td>-</td>
<td>2.10</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.BASAPM.">Device.BASAPM.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object represents the objects necessary to manage and control the functionality for tests that utilize the Broadband Access Service Attributes and Performance Metrics measurement test framework as defined in by [<a href="#R.TR-304">TR-304</a>].</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.BASAPM.MeasurementEndpointNumberOfEntries">MeasurementEndpointNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.BASAPM.MeasurementEndpoint."><em>MeasurementEndpoint</em></a> table.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.">Device.BASAPM.MeasurementEndpoint.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This object represents the measurement endpoint that provides additional contextual information regarding the measurement agent.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.BASAPM.MeasurementEndpoint.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.BASAPM.MeasurementEndpoint.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.BASAPM.MeasurementEndpoint.MeasurementAgent"><em>MeasurementAgent</em></a>.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables this <a href="#D.Device:2.Device.BASAPM.MeasurementEndpoint."><em>MeasurementEndpoint</em></a> instance.
This parameter is based on <em>ifAdminStatus</em> from [<a href="#R.RFC2863">RFC2863</a>].</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.MeasurementAgent">MeasurementAgent</span></td>
<td>string</td>
<td>W</td>
<td>The value MUST be the Path Name of a <a href="#D.Device:2.Device.LMAP.MeasurementAgent."><em>LMAP.MeasurementAgent</em></a> object that is associated with this measurement endpoint.. If the referenced object is deleted, the parameter value MUST be set to an empty string.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.DeviceOwnership">DeviceOwnership</span></td>
<td>string</td>
<td>W</td>
<td><p>This parameter describes the ownership of the device that hosts the measurement endpoint.
Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.DeviceOwnership.ISP"><em>ISP</em></span> (ISP Owned Device)</li>
<li><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.DeviceOwnership.Customer"><em>Customer</em></span> (Customer Owned Device)</li></ul></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.OperationalDomain">OperationalDomain</span></td>
<td>string(:256)</td>
<td>W</td>
<td>This parameter describes the operational domain for this measurement endpoint</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.InternetDomain">InternetDomain</span></td>
<td>string(:64)</td>
<td>W</td>
<td>The top level Internet domain used to identify this measurement endpoint.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.UseMeasurementEndpointInReports">UseMeasurementEndpointInReports</span></td>
<td>boolean</td>
<td>W</td>
<td>If the value of this parameter is <em>false</em> then the Measurement Endpoint MUST not be included in measurement reports.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.ISPDevice.">Device.BASAPM.MeasurementEndpoint.{i}.ISPDevice.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object represents the information necessary to utilize an ISP owned device within the measurement endpoint.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.ISPDevice.ReferencePoint">ReferencePoint</span></td>
<td>string</td>
<td>W</td>
<td><p>This parameter describes the measurement reference point of the measurement endpoint.
Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.ISPDevice.ReferencePoint.STP"><em>STP</em></span> (Internet Source Test Point)</li>
<li><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.ISPDevice.ReferencePoint.IDTP"><em>IDTP</em></span> (Internet Drain Test Point)</li>
<li><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.ISPDevice.ReferencePoint.RNTP"><em>RNTP</em></span> (Regional Network Test Point)</li>
<li><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.ISPDevice.ReferencePoint.IRTP"><em>IRTP</em></span> (Internal Regional Test Point)</li>
<li><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.ISPDevice.ReferencePoint.MTP"><em>MTP</em></span> (Metro Test Point)</li>
<li><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.ISPDevice.ReferencePoint.IATP"><em>IATP</em></span> (Internal Access Test Point)</li>
<li><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.ISPDevice.ReferencePoint.UNITP"><em>UNITP</em></span> (User Network Interface Test Point)</li>
<li><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.ISPDevice.ReferencePoint.CEDTP"><em>CEDTP</em></span> (Customer End Device Test Point)</li></ul></td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.ISPDevice.GeographicalLocation">GeographicalLocation</span></td>
<td>string</td>
<td>W</td>
<td>The value MUST be the Path Name of a <a href="#D.Device:2.Device.DeviceInfo.Location."><em>DeviceInfo.Location</em></a> object that describes the geographic location of the measurement endpoint. If the referenced object is deleted, the parameter value MUST be set to an empty string.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object inserted">
<td><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.CustomerDevice.">Device.BASAPM.MeasurementEndpoint.{i}.CustomerDevice.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object represents the information necessary to utilize customer owned device within the measurement endpoint.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.CustomerDevice.EquipmentIdentifier">EquipmentIdentifier</span></td>
<td>string(:64)</td>
<td>W</td>
<td>This parameter describes the customer equipment identifier of the measurement endpoint.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="parameter inserted">
<td><span id="D.Device:2.Device.BASAPM.MeasurementEndpoint.CustomerDevice.CustomerIdentifier">CustomerIdentifier</span></td>
<td>string(:256)</td>
<td>W</td>
<td>The unique customer identifier within the operational domain for this measurement endpoint.</td>
<td>-</td>
<td>2.12</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.">Device.LMAP.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object represents the objects necessary to manage and control the functionality for Large-Scale Measurement of Broadband Performance[<a href="#R.RFC7594">RFC7594</a>] as defined in by [<a href="#R.LMAPIFM">LMAPIFM</a>].</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgentNumberOfEntries">MeasurementAgentNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.LMAP.MeasurementAgent."><em>MeasurementAgent</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.ReportNumberOfEntries">ReportNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.LMAP.Report."><em>Report</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.EventNumberOfEntries">EventNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.LMAP.Event."><em>Event</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.">Device.LMAP.MeasurementAgent.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This object represents the measurement agent that performs measurement tasks and reporting functions defined in [<a href="#R.RFC7594">RFC7594</a>].</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Identifier"><em>Identifier</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables this <a href="#D.Device:2.Device.LMAP.MeasurementAgent."><em>MeasurementAgent</em></a> instance.
This parameter is based on <em>ifAdminStatus</em> from [<a href="#R.RFC2863">RFC2863</a>].</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Version">Version</span></td>
<td>string</td>
<td>R</td>
<td>Version of the measurement agent.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.LastStarted">LastStarted</span></td>
<td>dateTime</td>
<td>R</td>
<td>Date and time, based on [<a href="#R.RFC3339">RFC3339</a>], in UTC that the measurement agent was successfully started.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.CapabilityTags">CapabilityTags</span></td>
<td>string[]</td>
<td>R</td>
<td>Comma-separated list of strings. Capabilities of the measurement agent that cannot be expressed elsewhere in the data model.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Identifier">Identifier</span></td>
<td><span title="UUID">string(36)</span></td>
<td>W</td>
<td>[<a href="#T.UUID">UUID</a>] Identifier of the <a href="#D.Device:2.Device.LMAP.MeasurementAgent."><em>MeasurementAgent</em></a> instance.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.GroupIdentifier">GroupIdentifier</span></td>
<td>string(:256)</td>
<td>W</td>
<td>Identifier of the measurement group of interest to which the measurement agent belongs.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.MeasurementPoint">MeasurementPoint</span></td>
<td>string(:256)</td>
<td>W</td>
<td>Identifier of the measurement point indicating where the measurement agent is located on a path as defined in [bibref|RFC7398.}}</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.UseAgentIdentifierInReports">UseAgentIdentifierInReports</span></td>
<td>boolean</td>
<td>W</td>
<td>If the value of the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Identifier"><em>Identifier</em></a> parameter is not an empty string and the value of this parameter is <em>false</em> then the value of the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Identifier"><em>Identifier</em></a> parameter MUST not be included in measurement reports.</td>
<td>true</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.UseGroupIdentifierInReports">UseGroupIdentifierInReports</span></td>
<td>boolean</td>
<td>W</td>
<td>If the value of the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.GroupIdentifier"><em>GroupIdentifier</em></a> parameter is not an empty string and the value of this parameter is <em>false</em> then the value of the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.GroupIdentifier"><em>GroupIdentifier</em></a> parameter MUST not be included in measurement reports.</td>
<td>false</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.UseMeasurementPointInReports">UseMeasurementPointInReports</span></td>
<td>boolean</td>
<td>W</td>
<td>If the value of the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.MeasurementPoint"><em>MeasurementPoint</em></a> parameter is not an empty string and the value of this parameter is <em>false</em> then the value of the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.MeasurementPoint"><em>MeasurementPoint</em></a> parameter MUST not be included in measurement reports.</td>
<td>false</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.PublicCredential">PublicCredential</span></td>
<td>string</td>
<td>W</td>
<td>The value MUST be the Path Name of a <a href="#D.Device:2.Device.Security.Certificate."><em>Security.Certificate</em></a> object that is used to identify this measurement agent. If the referenced object is deleted, the parameter value MUST be set to an empty string.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.PrivateCredential">PrivateCredential</span></td>
<td>string</td>
<td>W</td>
<td>The value MUST be the Path Name of a <a href="#D.Device:2.Device.Security.Certificate."><em>Security.Certificate</em></a> object that is used to contain the private keys for this measurement agent. If the referenced object is deleted, the parameter value MUST be set to an empty string.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.EventLog">EventLog</span></td>
<td>string</td>
<td>R</td>
<td>The value MUST be the Path Name of a <a href="#D.Device:2.Device.DeviceInfo.VendorLogFile."><em>DeviceInfo.VendorLogFile</em></a> object that is used to record events for this measurement agent. If the referenced object is deleted, the parameter value MUST be set to an empty string.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.TaskCapabilityNumberOfEntries">TaskCapabilityNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.TaskCapability."><em>TaskCapability</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.ScheduleNumberOfEntries">ScheduleNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule."><em>Schedule</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.TaskNumberOfEntries">TaskNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Task."><em>Task</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannelNumberOfEntries">CommunicationChannelNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel."><em>CommunicationChannel</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.InstructionNumberOfEntries">InstructionNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Instruction."><em>Instruction</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.TaskCapability.">Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This object represents a capabilities, in the context of a task, that are supported by the measurement agent. Types of capabilities include: Report tasks, Configuration Tasks and Instruction Tasks.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.TaskCapability.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.TaskCapability.Name">Name</span></td>
<td>string(:256)</td>
<td>R</td>
<td>Name of the supported task.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.TaskCapability.Version">Version</span></td>
<td>string(:256)</td>
<td>R</td>
<td>Version of the task.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.TaskCapability.TaskCapabilityRegistryNumberOfEntries">TaskCapabilityRegistryNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.TaskCapability.Registry."><em>Registry</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.TaskCapability.Registry.">Device.LMAP.MeasurementAgent.{i}.TaskCapability.{i}.Registry.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This object represents a registry function and an associated list of roles supported by this measurement agent</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.TaskCapability.Registry.RegistryEntry"><em>RegistryEntry</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.TaskCapability.Registry.RegistryEntry">RegistryEntry</span></td>
<td>string</td>
<td>R</td>
<td>A URI ([<a href="#R.RFC3986">RFC3986</a>]) that is the value of the task registry entry as defined in [<a href="#R.LMAPREG">LMAPREG</a>] or a value for a task that is understood by the measurement agent, measurement controller and measurement collector.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.TaskCapability.Registry.Roles">Roles</span></td>
<td>string(:256)[]</td>
<td>R</td>
<td>Comma-separated list of strings (maximum number of characters per item 256), representing the roles of the function.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Controller.">Device.LMAP.MeasurementAgent.{i}.Controller.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This objects represents the measurement controller that is assigned to a measurement agent.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Controller.ControllerTimeout">ControllerTimeout</span></td>
<td>int(0:)</td>
<td>W</td>
<td>The timer, in <em>seconds</em>, that is started after each successful contact with a measurement controller.
When the timer reaches the timeout en event is raised indicating that connectivity to the controller has been lost.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Controller.ControlSchedules">ControlSchedules</span></td>
<td>string[]</td>
<td>W</td>
<td>Comma-separated list of strings. Each list item MUST be the Path Name of a <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule."><em>Schedule</em></a> object. If the referenced object is deleted, the corresponding item MUST be removed from the list.
This parameter lists the available control schedules for invoking control tasks by the measurement agent.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Controller.ControlTasks">ControlTasks</span></td>
<td>string[]</td>
<td>W</td>
<td>Comma-separated list of strings. Each list item MUST be the Path Name of a <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Task."><em>Task</em></a> object. If the referenced object is deleted, the corresponding item MUST be removed from the list.
This parameter lists the available control tasks that can be invoked by the measurement agent.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Controller.ControlChannels">ControlChannels</span></td>
<td>string[]</td>
<td>W</td>
<td>Comma-separated list of strings. Each list item MUST be the Path Name of a <a href="#D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel."><em>CommunicationChannel</em></a> object. If the referenced object is deleted, the corresponding item MUST be removed from the list.
The measurement agent to measurement controller channel is used for conveying results of communication sessions with the configuration, instruction status and logging information elements defined in defined in [<a href="#R.LMAPIFM">LMAPIFM</a>].</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.">Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This object represents a schedule that is associated with a set of scheduled actions to be performed by a measurement agent.
Note: Actions of an occurrence of this <em>Schedule</em> are gracefully terminated by the defining either the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.End"><em>End</em></a> or <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Duration"><em>Duration</em></a> parameters. Only one of these parameters may be defined at a time.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables this <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule."><em>Schedule</em></a> instance.
This parameter is based on <em>ifAdminStatus</em> from [<a href="#R.RFC2863">RFC2863</a>].</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Name">Name</span></td>
<td>string(:256)</td>
<td>W</td>
<td>Name of the schedule.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.State">State</span></td>
<td>string</td>
<td>R</td>
<td><p>The current operational state of the Schedule. Only one instance of the schedule is active. An active schedule is defined where the <em>State</em> parameter has a value of <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.State.Running"><em>Running</em></a>.
Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.State.Enabled"><em>Enabled</em></span></li>
<li><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.State.Suppressed"><em>Suppressed</em></span></li>
<li><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.State.Disabled"><em>Disabled</em></span></li>
<li><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.State.Running"><em>Running</em></span></li></ul></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Start">Start</span></td>
<td>string</td>
<td>W</td>
<td>The value MUST be the Path Name of a <a href="#D.Device:2.Device.LMAP.Event."><em>Event</em></a> object that is used define the event to start an occurrence of this <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule."><em>Schedule</em></a>. If the referenced object is deleted, the parameter value MUST be set to an empty string.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.End">End</span></td>
<td>string</td>
<td>W</td>
<td>The value MUST be the Path Name of a <a href="#D.Device:2.Device.LMAP.Event."><em>Event</em></a> object that is used define the event to gracefully terminate all actions associated with an occurrence of this <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule."><em>Schedule</em></a>. If the referenced object is deleted, the parameter value MUST be set to an empty string..</td>
<td><em>&lt;Empty&gt;</em></td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Duration">Duration</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>When the <em>Duration</em> value is not 0, this parameter is used define the duration, in <em>seconds</em>, where after this duration all actions associated with an occurrence of this <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule."><em>Schedule</em></a> are gracefully terminated.</td>
<td>0</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Tags">Tags</span></td>
<td>string[]</td>
<td>W</td>
<td>Comma-separated list of strings, each entry represents tags that are to be reported together with the measurement results..</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.SuppressionTags">SuppressionTags</span></td>
<td>string[]</td>
<td>W</td>
<td>Comma-separated list of strings, representing the suppression tags to be matched.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.ExecutionMode">ExecutionMode</span></td>
<td>string</td>
<td>W</td>
<td><p>This parameter describes the execution method to apply to this schedule for the associated Actions.
Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.ExecutionMode.Sequential"><em>Sequential</em></span> ( Actions are executed in sequence as defined by the value of the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Order"><em>Action.{i}.Order</em></a> parameter. The first Scheduled Action of the DestinationOutput is provided the input)</li>
<li><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.ExecutionMode.Parallel"><em>Parallel</em></span> (Actions are executed in parallel. The all Scheduled Actions of the DestinationOutput are provided the input)</li>
<li><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.ExecutionMode.Pipelined"><em>Pipelined</em></span> (Actions are executed in sequence where the output of one Action is used as the input of subsequent Action. The first Scheduled Action of the DestinationOutput is provided the input)</li></ul></td>
<td>Pipelined</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.LastInvocation">LastInvocation</span></td>
<td>dateTime</td>
<td>R</td>
<td>Date and time, based on [<a href="#R.RFC3339">RFC3339</a>], in UTC that the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule."><em>Schedule</em></a> was invoked by the measurement agent.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Storage">Storage</span></td>
<td>unsignedLong</td>
<td>R</td>
<td><p>The amount of secondary storage, in <em>bytes</em>, allocated to an instance of this <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule."><em>Schedule</em></a>.
The value of this parameter reflects the amount of allocated physical storage and not the storage used by logical data records.
For example the secondary storage can be the storage allocated in a file system holding temporary data.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.ActionNumberOfEntries">ActionNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action."><em>Action</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Stats.">Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Stats.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object represents the statistics associated with this object.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Stats.Invocations">Invocations</span></td>
<td>unsignedLong</td>
<td>R</td>
<td><p>Number of invocations of this schedule. This counter does not include suppressed invocations or invocations that were prevented due to an overlap with a previous invocation of this schedule.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Stats.Suppressions">Suppressions</span></td>
<td>unsignedLong</td>
<td>R</td>
<td><p>Number of suppressed executions of this schedule.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Stats.Overlaps">Overlaps</span></td>
<td>unsignedLong</td>
<td>R</td>
<td><p>Number of executions prevented due to overlaps with a previous invocation of this schedule.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Stats.Failures">Failures</span></td>
<td>unsignedLong</td>
<td>R</td>
<td><p>Number of failed executions of this schedule. A failed execution is an execution where at least one action failed.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.">Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This object represents an action that is associated with the this <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule."><em>Schedule</em></a> object.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables this <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action."><em>Schedule.{i}.Action</em></a> object.
This parameter is based on <em>ifAdminStatus</em> from [<a href="#R.RFC2863">RFC2863</a>].</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.State">State</span></td>
<td>string</td>
<td>R</td>
<td><p>The current operational state of the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action."><em>Action</em></a>. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.State.Enabled"><em>Enabled</em></span></li>
<li><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.State.Suppressed"><em>Suppressed</em></span></li>
<li><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.State.Disabled"><em>Disabled</em></span></li>
<li><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.State.Running"><em>Running</em></span></li></ul></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Order">Order</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>The order of the scheduled action.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Task">Task</span></td>
<td>string</td>
<td>W</td>
<td>The value MUST be the Path Name of a <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Task."><em>Task</em></a> object used in this scheduled action. If the referenced object is deleted, the parameter value MUST be set to an empty string.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.OutputDestination">OutputDestination</span></td>
<td>string[]</td>
<td>W</td>
<td>Comma-separated list of strings. Each list item MUST be the Path Name of a <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule."><em>Schedule</em></a> object used to receive the output(s) of this scheduled action. If the referenced object is deleted, the corresponding item MUST be removed from the list.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.SuppressionTags">SuppressionTags</span></td>
<td>string[]</td>
<td>W</td>
<td>Comma-separated list of strings, representing the suppression tags to be matched.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Tags">Tags</span></td>
<td>string[]</td>
<td>W</td>
<td>Comma-separated list of strings, each entry represents tags that are to be reported together with the measurement results..</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Storage">Storage</span></td>
<td>unsignedLong</td>
<td>R</td>
<td><p>The amount of secondary storage, in <em>bytes</em>, allocated to an instance of this <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action."><em>Action</em></a>.
The value of this parameter reflects the amount of allocated physical storage and not the storage used by logical data records.
For example the secondary storage can be the storage allocated in a file system holding temporary data.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.LastInvocation">LastInvocation</span></td>
<td>dateTime</td>
<td>R</td>
<td>Date and time, based on [<a href="#R.RFC3339">RFC3339</a>], in UTC that the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action."><em>Action</em></a> was invoked by the measurement agent.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.LastSuccessfulCompletion">LastSuccessfulCompletion</span></td>
<td>dateTime</td>
<td>R</td>
<td>Date and time, based on [<a href="#R.RFC3339">RFC3339</a>], in UTC of a successful completion of the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action."><em>Action</em></a>.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.LastSuccessfulStatusCode">LastSuccessfulStatusCode</span></td>
<td>int</td>
<td>R</td>
<td>The status code returned by successful execution of the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action."><em>Action</em></a>. A value of 0 indicates successful completion.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.LastSuccessfulMessage">LastSuccessfulMessage</span></td>
<td>string</td>
<td>R</td>
<td>The message associated with the successful completion of the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action."><em>Action</em></a>.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.LastFailedCompletion">LastFailedCompletion</span></td>
<td>dateTime</td>
<td>R</td>
<td>Date and time, based on [<a href="#R.RFC3339">RFC3339</a>], in UTC of a failure to complete the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action."><em>Action</em></a>.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.LastFailedStatusCode">LastFailedStatusCode</span></td>
<td>int</td>
<td>R</td>
<td>The status code returned by failed execution of the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action."><em>Action</em></a>. A value of 0 indicates successful completion.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.LastFailedMessage">LastFailedMessage</span></td>
<td>string</td>
<td>R</td>
<td>The message associated with the failure to complete the task.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.OptionNumberOfEntries">OptionNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Option."><em>Option</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Stats.">Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Stats.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object represents the statistics associated with this object.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Stats.Invocations">Invocations</span></td>
<td>unsignedLong</td>
<td>R</td>
<td><p>Number of invocations of this action. This counter does not include suppressed invocations or invocations that were prevented due to an overlap with a previous invocation of this schedule.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Stats.Suppressions">Suppressions</span></td>
<td>unsignedLong</td>
<td>R</td>
<td><p>Number of suppressed executions of this action.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Stats.Overlaps">Overlaps</span></td>
<td>unsignedLong</td>
<td>R</td>
<td><p>Number of executions prevented due to overlaps with a previous invocation of this action.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Stats.Failures">Failures</span></td>
<td>unsignedLong</td>
<td>R</td>
<td><p>Number of failed executions of this action. A failed execution is an execution where at least one action failed.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Option.">Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This object represents an option associated with the Scheduled Action. When an option with the same Name exists between the Seheduled Action’s Option and The Task’s option, the option of the Scheduled Action takes precedence over the option associated with the Task.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Option.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Option.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Option.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Option.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables this <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Option."><em>Option</em></a> instance.
This parameter is based on <em>ifAdminStatus</em> from [<a href="#R.RFC2863">RFC2863</a>].</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Option.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Option.Order">Order</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>The order of the Option.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Option.Name">Name</span></td>
<td>int</td>
<td>W</td>
<td>The name of the option.
When the value of this parameter is equal to &ldquo;channel&rdquo;, the option value specifies the Communication Channel used for this scheduled task.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Option.Value">Value</span></td>
<td>string</td>
<td>W</td>
<td>The value associated with the Option.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Task.">Device.LMAP.MeasurementAgent.{i}.Task.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>The <em>Task</em> object defines the configuration for a task that can be performed by <a href="#D.Device:2.Device.LMAP.MeasurementAgent."><em>MeasurementAgent</em></a> objects.
Tasks are performed by <a href="#D.Device:2.Device.LMAP.MeasurementAgent."><em>MeasurementAgent</em></a> objects when a <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule."><em>Schedule</em></a> object invokes the Task.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Task.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Task.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Task.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Task.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables this <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Task."><em>Task</em></a> instance.
This parameter is based on <em>ifAdminStatus</em> from [<a href="#R.RFC2863">RFC2863</a>].</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Task.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Task.Name">Name</span></td>
<td>string(:256)</td>
<td>W</td>
<td>Name of the task.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Task.Tags">Tags</span></td>
<td>string[]</td>
<td>W</td>
<td>Comma-separated list of strings, each entry represents tags that are to be reported together with the measurement results..</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Task.OptionNumberOfEntries">OptionNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Task.Option."><em>Option</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Task.RegistryNumberOfEntries">RegistryNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Task.Registry."><em>Registry</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Task.Registry.">Device.LMAP.MeasurementAgent.{i}.Task.{i}.Registry.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This object represents a registry function and an associated list of roles for this task</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Task.Registry.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Task.Registry.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Task.Registry.RegistryEntry"><em>RegistryEntry</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Task.Registry.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables this <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Task.Registry."><em>Registry</em></a> instance.
This parameter is based on <em>ifAdminStatus</em> from [<a href="#R.RFC2863">RFC2863</a>].</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Task.Registry.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Task.Registry.RegistryEntry">RegistryEntry</span></td>
<td>string</td>
<td>W</td>
<td>A URI ([<a href="#R.RFC3986">RFC3986</a>]) that is the value of the task registry entry as defined in [<a href="#R.LMAPREG">LMAPREG</a>] or a value for a task that is understood by the measurement agent, measurement controller and measurement collector.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Task.Registry.Roles">Roles</span></td>
<td>string(:256)[]</td>
<td>W</td>
<td>Comma-separated list of strings (maximum number of characters per item 256), representing the roles of the function.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Task.Option.">Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This object represents an option associated with the task.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Task.Option.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Task.Option.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Task.Option.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Task.Option.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables this <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Task.Option."><em>Option</em></a> instance.
This parameter is based on <em>ifAdminStatus</em> from [<a href="#R.RFC2863">RFC2863</a>].</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Task.Option.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Task.Option.Order">Order</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>The order of the Option.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Task.Option.Name">Name</span></td>
<td>int</td>
<td>W</td>
<td>The name of the option.
When the value of this parameter is equal to &ldquo;channel&rdquo;, the option value specifies the Communication Channel used for this task.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Task.Option.Value">Value</span></td>
<td>string</td>
<td>W</td>
<td>The value associated with the Option.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel.">Device.LMAP.MeasurementAgent.{i}.CommunicationChannel.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This object represents the properties communication channel used to establish communication between a measurement agent and other elements of the LMAP framework (e.g., measurement controller, measurement collector). The value of the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel.Name"><em>Name</em></a> parameter used for conveying information is defined as an option in the Task’s or scheduled Task’s option parameter.
When this object uses the BulkData capability, a <a href="#D.Device:2.Device.BulkData.Profile."><em>BulkData.Profile.{i}</em></a> object instance referred to by this object.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables this <a href="#D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel."><em>CommunicationChannel</em></a> instance.
This parameter is based on <em>ifAdminStatus</em> from [<a href="#R.RFC2863">RFC2863</a>].</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel.Name">Name</span></td>
<td>string(:256)</td>
<td>W</td>
<td>Name of the channel.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel.UseBulkDataProfile">UseBulkDataProfile</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables the ability to use a bulk data profile for this communication channel</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel.BulkDataProfile">BulkDataProfile</span></td>
<td>string</td>
<td>W</td>
<td>The value MUST be the Path Name of a <a href="#D.Device:2.Device.BulkData.Profile."><em>BulkData.Profile</em></a> object that is used to represent communication channel. If the referenced object is deleted, the parameter value MUST be set to an empty string.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel.Target">Target</span></td>
<td>string(:256)</td>
<td>W</td>
<td>The URL of the LMAP component that is the target of this communication channel.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel.TargetPublicCredential">TargetPublicCredential</span></td>
<td>string</td>
<td>W</td>
<td>The value MUST be the Path Name of a <a href="#D.Device:2.Device.Security.Certificate."><em>Security.Certificate</em></a> object that is used to identify the target of this channel. If the referenced object is deleted, the parameter value MUST be set to an empty string.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel.Interface">Interface</span></td>
<td>string</td>
<td>W</td>
<td>The value MUST be the Path Name of an interface object used to restrict the data transmitted or received using this channel to a specific interface. If the value of this parameter is an empty string the data that is transmitted or received using this channel is able to use any available interface.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Instruction.">Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>The <em>Instruction</em> object defines the instruction to the measurement agent by the measurement controller. At most one <em>Instruction</em> object for the <a href="#D.Device:2.Device.LMAP.MeasurementAgent."><em>MeasurementAgent</em></a> instance is enabled at a time. .</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Instruction.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Instruction.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Instruction.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables this <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Instruction."><em>Instruction</em></a> instance.
This parameter is based on <em>ifAdminStatus</em> from [<a href="#R.RFC2863">RFC2863</a>].</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Instruction.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Instruction.LastChange">LastChange</span></td>
<td>dateTime</td>
<td>R</td>
<td>Date and time, based on [<a href="#R.RFC3339">RFC3339</a>], in UTC that the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Instruction."><em>Instruction</em></a> object or its sub-object’s configuration was changed by a measurement agent’s controller.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Instruction.InstructionSchedules">InstructionSchedules</span></td>
<td>string[]</td>
<td>W</td>
<td>Comma-separated list of strings. Each list item MUST be the Path Name of a <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule."><em>Schedule</em></a> object. If the referenced object is deleted, the corresponding item MUST be removed from the list.
This parameter lists the available instruction schedules for invoking control tasks by the measurement agent.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Instruction.InstructionTasks">InstructionTasks</span></td>
<td>string[]</td>
<td>W</td>
<td>Comma-separated list of strings. Each list item MUST be the Path Name of a <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Task."><em>Task</em></a> object. If the referenced object is deleted, the corresponding item MUST be removed from the list.
This parameter lists the available instruction tasks that can be invoked by the measurement agent.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Instruction.ReportChannels">ReportChannels</span></td>
<td>string[]</td>
<td>W</td>
<td>Comma-separated list of strings. Each list item MUST be the Path Name of a <a href="#D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel."><em>CommunicationChannel</em></a> object. If the referenced object is deleted, the corresponding item MUST be removed from the list.
This parameter defines the corresponding report channels to be used when reporting results of tasks to a measurement collector.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppressionNumberOfEntries">MeasurementSuppressionNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppression."><em>MeasurementSuppression</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppression.">Device.LMAP.MeasurementAgent.{i}.Instruction.{i}.MeasurementSuppression.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This object defines the schedules and actions that are suppressed based on criteria defined in the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppression.SuppressionMatch"><em>SuppressionMatch</em></a> parameter.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppression.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppression.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppression.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppression.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables this <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppression."><em>MeasurementSuppression</em></a> instance.
This parameter is based on <em>ifAdminStatus</em> from [<a href="#R.RFC2863">RFC2863</a>].</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppression.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppression.Name">Name</span></td>
<td>string(:256)</td>
<td>W</td>
<td>Name of the suppression object.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppression.State">State</span></td>
<td>string</td>
<td>R</td>
<td><p>The current operational state of the <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppression."><em>MeasurementSuppression</em></a>. Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppression.State.Enabled"><em>Enabled</em></span></li>
<li><span id="D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppression.State.Active"><em>Active</em></span></li>
<li><span id="D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppression.State.Disabled"><em>Disabled</em></span></li></ul></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppression.StopRunning">StopRunning</span></td>
<td>boolean</td>
<td>W</td>
<td>When <em>true</em>, the measurement agent is instructed to stop running schedules or actions that have been matched by this object.</td>
<td>false</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppression.Start">Start</span></td>
<td>string</td>
<td>W</td>
<td>The value MUST be the Path Name of a <a href="#D.Device:2.Device.LMAP.Event."><em>Event</em></a> object that is used define the event that to start an occurrence of this <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppression."><em>MeasurementSuppression</em></a>. If the referenced object is deleted, the parameter value MUST be set to an empty string. When an empty string the default behavior is to perform the suspension event immediately.</td>
<td><em>&lt;Empty&gt;</em></td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppression.End">End</span></td>
<td>string</td>
<td>W</td>
<td>The value MUST be the Path Name of a <a href="#D.Device:2.Device.LMAP.Event."><em>Event</em></a> object that is used define the event to gracefully suspend all actions associated with an occurrence of this <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppression."><em>MeasurementSuppression</em></a>. If the referenced object is deleted, the parameter value MUST be set to an empty string. When an empty string the default behavior is for the suspension period to be indefinite.</td>
<td><em>&lt;Empty&gt;</em></td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppression.SuppressionMatch">SuppressionMatch</span></td>
<td>string[]</td>
<td>W</td>
<td>Comma-separated list of strings, representing the match patterns to be used for applying suppression to <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule."><em>Schedule.{i}</em></a> (and their actions) and all <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action."><em>Schedule.{i}.Action.{i}</em></a> object instances that have a matched using their SuppressionTags parameters. The match pattern syntax is defined in [<a href="#R.LMAPIFM">LMAPIFM</a>].</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.Report.">Device.LMAP.Report.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td>This <em>Report</em> object instance represents a report that is generated by a reporting task where the reporting task is defined as a <a href="#D.Device:2.Device.LMAP.MeasurementAgent.Task."><em>MeasurementAgent.{i}.Task.{i}</em></a> and executed as a scheduled action (<a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action."><em>MeasurementAgent.{i}.Schedule.{i}.Action.{i}</em></a>).
The <em>Report</em> replicates the <a href="#D.Device:2.Device.LMAP.MeasurementAgent."><em>MeasurementAgent.{i}</em></a> object instance’s data at the time of the action exection.
When a <a href="#D.Device:2.Device.BulkData.Profile."><em>BulkData.Profile.{i}</em></a> object instance is used to communicate a <em>Report</em> instance, the CPE adds a <a href="#D.Device:2.Device.BulkData.Profile.Parameter."><em>BulkData.Profile.{i}.Parameter.{i}</em></a> object instance referring to this <em>Report</em> object instance.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.ReportDate">ReportDate</span></td>
<td>dateTime</td>
<td>R</td>
<td>The report date and time, based on [<a href="#R.RFC3339">RFC3339</a>], that the report was sent to the collector.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.AgentIdentifier">AgentIdentifier</span></td>
<td><span title="UUID">string(36)</span></td>
<td>R</td>
<td>[<a href="#T.UUID">UUID</a>] Identifier of the measurement agent at the time the measurement was run.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.GroupIdentifier">GroupIdentifier</span></td>
<td>string</td>
<td>R</td>
<td>Identifier of the measurement group of interest to which the MA belongs.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.MeasurementPoint">MeasurementPoint</span></td>
<td>string(:256)</td>
<td>R</td>
<td>Identifier of the measurement point indicating where the measurement agent is located on a path as defined in [<a href="#R.RFC7398">RFC7398</a>].</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.ResultNumberOfEntries">ResultNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.LMAP.Report.Result."><em>Result</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.Report.Result.">Device.LMAP.Report.{i}.Result.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>The <em>Result</em> object provides the meta-data of the result report of a single executed action that produced the result.</p>

<p>At most one entry in this table can exist with the same values for all of <a href="#D.Device:2.Device.LMAP.Report.Result.ScheduleName"><em>ScheduleName</em></a>, <a href="#D.Device:2.Device.LMAP.Report.Result.ActionName"><em>ActionName</em></a> and <a href="#D.Device:2.Device.LMAP.Report.Result.StartTime"><em>StartTime</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.TaskName">TaskName</span></td>
<td>string(:256)</td>
<td>R</td>
<td>Name of the task that produced the result.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.ScheduleName">ScheduleName</span></td>
<td>string(:256)</td>
<td>R</td>
<td>Name of the schedule that produced the result.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.ActionName">ActionName</span></td>
<td>string(:256)</td>
<td>R</td>
<td>Name of the action that produced the result.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.EventTime">EventTime</span></td>
<td>dateTime</td>
<td>R</td>
<td>The date and time, based on [<a href="#R.RFC3339">RFC3339</a>], that the event that triggered the schedule of the action that produced the reported result values in UTC.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.StartTime">StartTime</span></td>
<td>dateTime</td>
<td>R</td>
<td>The date and time, based on [<a href="#R.RFC3339">RFC3339</a>], that the action started in UTC.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.EndTime">EndTime</span></td>
<td>dateTime</td>
<td>R</td>
<td>The date and time, based on [<a href="#R.RFC3339">RFC3339</a>], that the action was completed in UTC.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.CycleNumber">CycleNumber</span></td>
<td>string</td>
<td>R</td>
<td><p>The cycle number derived from the <a href="#D.Device:2.Device.LMAP.Report.Result.EventTime"><em>EventTime</em></a>.
The cycle number is the time, in UTC, closest to the <a href="#D.Device:2.Device.LMAP.Report.Result.EventTime"><em>EventTime</em></a> that is a multiple of the cycle interval of the event that triggered the execution of the schedule.
The value is valid if the event that triggered the execution of the schedule has a defined cycle interval. An an empty string value represent an invalid CycleNumber.
Possible patterns:</p>

<ul>
<li><span id="D.Device:2.Device.LMAP.Report.Result.CycleNumber.YYYYMMDD.HHMMSS"><code>YYYYMMDD.HHMMSS</code></span></li></ul></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.Status">Status</span></td>
<td>int</td>
<td>R</td>
<td>The status code returned by the execution of the action.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.Tags">Tags</span></td>
<td>string[]</td>
<td>R</td>
<td>Comma-separated list of strings, each entry represents tags defined for the schedule, task and action objects that produced this result.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.OptionNumberOfEntries">OptionNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.LMAP.Report.Result.Option."><em>Option</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.ResultConflictNumberOfEntries">ResultConflictNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.LMAP.Report.Result.Conflict."><em>Conflict</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.ResultReportTableNumberOfEntries">ResultReportTableNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.LMAP.Report.Result.ReportTable."><em>ReportTable</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.Report.Result.Option.">Device.LMAP.Report.{i}.Result.{i}.Option.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This object represents an option associated with the task or action object that produced the result.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.LMAP.Report.Result.Option.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.Option.Order">Order</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The order of the Option.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.Option.Name">Name</span></td>
<td>int</td>
<td>R</td>
<td>The name of the Option.
When the value of this parameter is equal to &ldquo;channel&rdquo;, the option value specifies the Communication Channel used for this task.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.Option.Value">Value</span></td>
<td>string</td>
<td>R</td>
<td>The value associated with the Option.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.Report.Result.Conflict.">Device.LMAP.Report.{i}.Result.{i}.Conflict.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This object represents actions that might have impacted the results being reported.</p>

<p>At most one entry in this table can exist with the same values for all of <a href="#D.Device:2.Device.LMAP.Report.Result.Conflict.ScheduleName"><em>ScheduleName</em></a>, <a href="#D.Device:2.Device.LMAP.Report.Result.Conflict.ActionName"><em>ActionName</em></a> and <a href="#D.Device:2.Device.LMAP.Report.Result.Conflict.TaskName"><em>TaskName</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.Conflict.TaskName">TaskName</span></td>
<td>string(:256)</td>
<td>R</td>
<td>Name of the task.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.Conflict.ScheduleName">ScheduleName</span></td>
<td>string(:256)</td>
<td>R</td>
<td>Name of the schedule.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.Conflict.ActionName">ActionName</span></td>
<td>string(:256)</td>
<td>R</td>
<td>Name of the action.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.Report.Result.ReportTable.">Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td>This <em>ReportTable</em> object instances represents a row of results.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.ReportTable.ColumnLabels">ColumnLabels</span></td>
<td>string[]</td>
<td>R</td>
<td>Comma-separated list of strings. This parameter contains the column labels used for the result.
The column labels are ordered with the corresponding entries in the <a href="#D.Device:2.Device.LMAP.Report.Result.ReportTable.ResultRow."><em>ResultRow</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.ReportTable.ResultReportRowNumberOfEntries">ResultReportRowNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.LMAP.Report.Result.ReportTable.ResultRow."><em>ResultRow</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.ReportTable.RegistryNumberOfEntries">RegistryNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>The number of entries in the <a href="#D.Device:2.Device.LMAP.Report.Result.ReportTable.Registry."><em>Registry</em></a> table.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.Report.Result.ReportTable.ResultRow.">Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.ResultRow.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td>This <em>ResultRow</em> object instances represents a row of results for the report.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.ReportTable.ResultRow.Values">Values</span></td>
<td>string[]</td>
<td>R</td>
<td>Comma-separated list of strings. This parameter contains an ordered set of values that align to the columns defined in the <a href="#D.Device:2.Device.LMAP.Report.Result.ReportTable.ColumnLabels"><em>ColumnLabels</em></a> parameter.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.Report.Result.ReportTable.Registry.">Device.LMAP.Report.{i}.Result.{i}.ReportTable.{i}.Registry.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This object represents a registry function and an associated list of roles for this result report.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.LMAP.Report.Result.ReportTable.Registry.RegistryEntry"><em>RegistryEntry</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.ReportTable.Registry.RegistryEntry">RegistryEntry</span></td>
<td>string</td>
<td>R</td>
<td>A URI ([<a href="#R.RFC3986">RFC3986</a>]) that is the value of the registry entry as defined in [<a href="#R.LMAPREG">LMAPREG</a>] or a value for a task that is understood by the measurement agent, measurement controller and measurement collector.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Report.Result.ReportTable.Registry.Roles">Roles</span></td>
<td>string(:256)[]</td>
<td>R</td>
<td>Comma-separated list of strings (maximum number of characters per item 256), representing the roles of the function.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.Event.">Device.LMAP.Event.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td><p>This object defines the information associated with an event used within the measurement agent. Event instances may be referenced by various objects within the LMAP model.</p>

<p>At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.LMAP.Event.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.LMAP.Event.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.
At most one enabled entry in this table can exist with a given value for <a href="#D.Device:2.Device.LMAP.Event.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Event.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables this <a href="#D.Device:2.Device.LMAP.Event."><em>Event</em></a> instance.
This parameter is based on <em>ifAdminStatus</em> from [<a href="#R.RFC2863">RFC2863</a>].</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Event.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>The Agent MUST choose an initial value that doesn’t conflict with any existing entries.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Event.Name">Name</span></td>
<td>string(:256)</td>
<td>W</td>
<td>Name of the Event.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Event.Type">Type</span></td>
<td>string</td>
<td>W</td>
<td><p>This parameter describes the type of <a href="#D.Device:2.Device.LMAP.Event."><em>Event</em></a> for this object instance. The timing of the event occurrence is adjusted based on the value of the <a href="#D.Device:2.Device.LMAP.Event.RandomnessSpread"><em>RandomnessSpread</em></a> parameter.
Enumeration of:</p>

<ul>
<li><span id="D.Device:2.Device.LMAP.Event.Type.PeriodicTiming"><em>PeriodicTiming</em></span> (Periodic Timing Event. When selected one or more event occurrences are emitted based on the parameters defined in the <a href="#D.Device:2.Device.LMAP.Event.PeriodicTimer."><em>PeriodicTimer</em></a> object)</li>
<li><span id="D.Device:2.Device.LMAP.Event.Type.CalendarTiming"><em>CalendarTiming</em></span> (Calendar Timing Event. When selected one or more event occurrences are emitted based on the parameters defined in the <a href="#D.Device:2.Device.LMAP.Event.CalendarTimer."><em>CalendarTimer</em></a> object)</li>
<li><span id="D.Device:2.Device.LMAP.Event.Type.OneOffTiming"><em>OneOffTiming</em></span> (One-off Timing Event. When selected a single event occurrence is emitted based on the parameters defined in the <a href="#D.Device:2.Device.LMAP.Event.OneOff."><em>OneOff</em></a> object)</li>
<li><span id="D.Device:2.Device.LMAP.Event.Type.Immediate"><em>Immediate</em></span> (Immediate Timing Event. When selected a single event occurrence is emitted as soon as possible)</li>
<li><span id="D.Device:2.Device.LMAP.Event.Type.Startup"><em>Startup</em></span> (Startup Timing Event. When selected a single event occurrence is emitted when the corresponding measurement agent starts up)</li>
<li><span id="D.Device:2.Device.LMAP.Event.Type.ControllerLost"><em>ControllerLost</em></span> (Controller Lost Event. When selected a single event occurrence is emitted when the connectivity to the controller is lost)</li>
<li><span id="D.Device:2.Device.LMAP.Event.Type.ControllerConnected"><em>ControllerConnected</em></span> (Controller Connected Event. When selected a single event occurrence is emitted when the connectivity to the controller is established)</li></ul></td>
<td>Immediate</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Event.RandomnessSpread">RandomnessSpread</span></td>
<td>int</td>
<td>W</td>
<td>The spread, in <em>seconds</em>, of the Uniform Discrete random distribution algorithm. A value of 0 means that the random algorithm is not applied.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Event.CycleInterval">CycleInterval</span></td>
<td>int</td>
<td>W</td>
<td>The duration of the time interval, in <em>seconds</em>, that used to calculate cycle numbers.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.Event.PeriodicTimer.">Device.LMAP.Event.{i}.PeriodicTimer.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object defines a periodic timer instance. The periodic timer instance has attributes for when the timer is to begin (<a href="#D.Device:2.Device.LMAP.Event.PeriodicTimer.StartTime"><em>StartTime</em></a>) and end (<a href="#D.Device:2.Device.LMAP.Event.PeriodicTimer.EndTime"><em>EndTime</em></a>) as well as the interval to use.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Event.PeriodicTimer.StartTime">StartTime</span></td>
<td>dateTime</td>
<td>W</td>
<td>Date and time, based on [<a href="#R.RFC3339">RFC3339</a>], that the <a href="#D.Device:2.Device.LMAP.Event.PeriodicTimer."><em>PeriodicTimer</em></a> instance is to begin operation.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Event.PeriodicTimer.EndTime">EndTime</span></td>
<td>dateTime</td>
<td>W</td>
<td>Date and time, based on [<a href="#R.RFC3339">RFC3339</a>], that the <a href="#D.Device:2.Device.LMAP.Event.PeriodicTimer."><em>PeriodicTimer</em></a> instance is to end operation.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Event.PeriodicTimer.Interval">Interval</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>The tolerable duration, in <em>seconds</em>, of the interval for this <a href="#D.Device:2.Device.LMAP.Event.PeriodicTimer."><em>PeriodicTimer</em></a> instance.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.Event.CalendarTimer.">Device.LMAP.Event.{i}.CalendarTimer.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object defines a calendar timer instance.
The calendar timer instance has attributes for when the timer is to begin (<a href="#D.Device:2.Device.LMAP.Event.CalendarTimer.StartTime"><em>StartTime</em></a>) and end (<a href="#D.Device:2.Device.LMAP.Event.CalendarTimer.EndTime"><em>EndTime</em></a>) as well as the schedule of the recurrence.
The algrorithm that defines how the schedule elements are evaluated is defined in [<a href="#R.LMAPIFM">LMAPIFM</a>].
If the value of any of the <a href="#D.Device:2.Device.LMAP.Event.CalendarTimer.ScheduleMonths"><em>ScheduleMonths</em></a>, <a href="#D.Device:2.Device.LMAP.Event.CalendarTimer.ScheduleDaysOfMonth"><em>ScheduleDaysOfMonth</em></a>, <a href="#D.Device:2.Device.LMAP.Event.CalendarTimer.ScheduleDaysOfWeek"><em>ScheduleDaysOfWeek</em></a>, <a href="#D.Device:2.Device.LMAP.Event.CalendarTimer.ScheduleHoursOfDay"><em>ScheduleHoursOfDay</em></a>, <a href="#D.Device:2.Device.LMAP.Event.CalendarTimer.ScheduleMinutesOfHour"><em>ScheduleMinutesOfHour</em></a> or <a href="#D.Device:2.Device.LMAP.Event.CalendarTimer.ScheduleSecondsOfMinute"><em>ScheduleSecondsOfMinute</em></a> is an empty string then any actions that use this object will not be invoked.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Event.CalendarTimer.StartTime">StartTime</span></td>
<td>dateTime</td>
<td>W</td>
<td>Date and time that the <a href="#D.Device:2.Device.LMAP.Event.CalendarTimer."><em>CalendarTimer</em></a> instance is to begin this operation.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Event.CalendarTimer.EndTime">EndTime</span></td>
<td>dateTime</td>
<td>W</td>
<td>Date and time that the <a href="#D.Device:2.Device.LMAP.Event.CalendarTimer."><em>CalendarTimer</em></a> instance is to end this operation.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Event.CalendarTimer.ScheduleMonths">ScheduleMonths</span></td>
<td>string</td>
<td>W</td>
<td>This parameter represents either a list of the months of year that are applied to the schedule or an asterisk (*) that represents all the elements of the list.
Each entry in the months of the year list can be a numeric value or the name of the month (january (1), february (2), march (3), april (4), may (5), june (6), july (7), august (8), september (9), october (10), november (11), december (12)).</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Event.CalendarTimer.ScheduleDaysOfMonth">ScheduleDaysOfMonth</span></td>
<td>string</td>
<td>W</td>
<td>This parameter represents either a list of the days of the month (1-31) that are applied to the schedule or an asterisk (*) that represents all the elements of the list.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Event.CalendarTimer.ScheduleDaysOfWeek">ScheduleDaysOfWeek</span></td>
<td>string</td>
<td>W</td>
<td>This parameter represents either a list of the days of the week that are applied to the schedule or an asterisk (*) that represents all the elements of the list.
Each entry in the days of the week list can be a numeric value or the name of the day (sunday (1), monday (2), tuesday (3), wednesday (4), thursday (5), friday (6), saturday (7)).</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Event.CalendarTimer.ScheduleHoursOfDay">ScheduleHoursOfDay</span></td>
<td>string</td>
<td>W</td>
<td>This parameter represents either a list of the hours of the day (0-23) that are applied to the schedule or an asterisk (*) that represents all the elements of the list.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Event.CalendarTimer.ScheduleMinutesOfHour">ScheduleMinutesOfHour</span></td>
<td>string</td>
<td>W</td>
<td>This parameter represents either a list of the minutes of the hour (0-59) that are applied to the schedule or an asterisk (*) that represents all the elements of the list.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Event.CalendarTimer.ScheduleSecondsOfMinute">ScheduleSecondsOfMinute</span></td>
<td>string</td>
<td>W</td>
<td>This parameter represents either a list of the minutes of the hour (0-59) that are applied to the schedule or an asterisk (*) that represents all the elements of the list.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Event.CalendarTimer.EnableScheduleTimezoneOffset">EnableScheduleTimezoneOffset</span></td>
<td>boolean</td>
<td>W</td>
<td>When <em>true</em>, the value of the <a href="#D.Device:2.Device.LMAP.Event.CalendarTimer.ScheduleTimezoneOffset"><em>ScheduleTimezoneOffset</em></a> parameter is applied to the schedule elements.
When <em>false</em>, the device’s system timezone offset is applied to the schedule elements.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Event.CalendarTimer.ScheduleTimezoneOffset">ScheduleTimezoneOffset</span></td>
<td>int(-23:23)</td>
<td>W</td>
<td>The timezone offset, in <em>hours</em>, to be applied to the schedule elements.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.LMAP.Event.OneOff.">Device.LMAP.Event.{i}.OneOff.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object defines a one off timer instance.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.LMAP.Event.OneOff.StartTime">StartTime</span></td>
<td>dateTime</td>
<td>W</td>
<td>Date and time, based on [<a href="#R.RFC3339">RFC3339</a>], that the <a href="#D.Device:2.Device.LMAP.Event.OneOff."><em>OneOff</em></a> instance is to begin operation.</td>
<td>-</td>
<td>2.0</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.SoftwareModules.">Device.SoftwareModules.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>Top level object for dynamically managed software applications.</td>
<td>-</td>
<td>2.1</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.SoftwareModules.ExecEnv.">Device.SoftwareModules.ExecEnv.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>The Execution Environments that are available on the device, along with their properties and configurable settings.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.SoftwareModules.ExecEnv.Alias"><em>Alias</em></a>, or with a given value for <a href="#D.Device:2.Device.SoftwareModules.ExecEnv.Name"><em>Name</em></a>.</p></td>
<td>-</td>
<td>2.1</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.SoftwareModules.ExecEnv.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.1</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.SoftwareModules.DeploymentUnit.">Device.SoftwareModules.DeploymentUnit.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This table serves as the Deployment Unit inventory and contains status information about each Deployment Unit.
A new instance of this table gets created during the installation of a Software Module.</p>

<p>At most one entry in this table can exist with the same values for all of <a href="#D.Device:2.Device.SoftwareModules.DeploymentUnit.UUID"><em>UUID</em></a>, <a href="#D.Device:2.Device.SoftwareModules.DeploymentUnit.Version"><em>Version</em></a> and <a href="#D.Device:2.Device.SoftwareModules.DeploymentUnit.ExecutionEnvRef"><em>ExecutionEnvRef</em></a>, or with a given value for <a href="#D.Device:2.Device.SoftwareModules.DeploymentUnit.Alias"><em>Alias</em></a>.</p></td>
<td>-</td>
<td>2.1</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.SoftwareModules.DeploymentUnit.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.1</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.SoftwareModules.ExecutionUnit.">Device.SoftwareModules.ExecutionUnit.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td><p>This table serves as the Execution Unit inventory and contains both status information about each Execution Unit as well as configurable parameters for each Execution Unit.
Each <a href="#D.Device:2.Device.SoftwareModules.DeploymentUnit."><em>DeploymentUnit</em></a> that is installed can have zero or more Execution Units.
Once a Deployment Unit is installed it populates this table with its contained Execution Units.
When the Deployment Unit (that caused this <em>ExecutionUnit</em> to come into existence) is updated, this instance MAY be removed and new instances MAY come into existence. While the Deployment Unit (that caused this <em>ExecutionUnit</em> to come into existence) is being updated, all <em>ExecutionUnit</em> instances associated with the Deployment Unit will be stopped until the update is complete at which time they will be restored to the state that they were in before the update started.
When the Deployment Unit (that caused this <em>ExecutionUnit</em> to come into existence) is uninstalled, this instance is removed.
Each <em>ExecutionUnit</em> MAY also contain a set of vendor specific parameters displaying status and maintaining configuration that reside under the <a href="#D.Device:2.Device.SoftwareModules.ExecutionUnit.Extensions."><em>Extensions</em></a> object.</p>

<p>At most one entry in this table can exist with a given value for <a href="#D.Device:2.Device.SoftwareModules.ExecutionUnit.EUID"><em>EUID</em></a>, or with a given value for <a href="#D.Device:2.Device.SoftwareModules.ExecutionUnit.Alias"><em>Alias</em></a>.</p></td>
<td>-</td>
<td>2.1</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.SoftwareModules.ExecutionUnit.Alias">Alias</span></td>
<td><span title="Alias">string(:64)</span></td>
<td>W</td>
<td><p>[<a href="#T.Alias">Alias</a>] A non-volatile handle used to reference this instance. Alias provides a
mechanism for an ACS to label this instance for future reference.</p>

<p>If the CPE supports the Alias-based Addressing feature as defined in
[<a href="#R.TR-069">Section 3.6.1/TR-069</a>] and described in [<a href="#R.TR-069">Appendix II/TR-069</a>],
the following mandatory constraints MUST be enforced:</p>

<ul>
<li>Its value MUST NOT be empty.</li>
<li>Its value MUST start with a letter.</li>
<li>If its value is not assigned by the ACS, it MUST start with a &ldquo;cpe-&rdquo;
prefix.</li>
<li>The CPE MUST NOT change the parameter value.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p>

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>string(:64)</em> syntax</li></ul></div></td>
<td>-</td>
<td>2.1</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.ETSIM2M.">Device.ETSIM2M.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The <em>ETSIM2M</em> object represents the management object for the Remote Entity Functions (REM) functions defined in the M2M Functional Architecture [<a href="#R.ETSIM2MFA">ETSIM2MFA</a>].</td>
<td>-</td>
<td>2.6</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.ETSIM2M.SCL.">Device.ETSIM2M.SCL.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td>This object represents an instance of a Service Capability Layer (SCL) for a M2M device or gateway.
The <em>SCL</em> MAY be maintained by the ACS or by the CPE.
When the <em>SCL</em> provides the administration of an SCL that is represented as a <a href="#D.Device:2.Device.SoftwareModules.ExecutionUnit."><em>SoftwareModules.ExecutionUnit</em></a> the <em>SCL</em> is maintained in the <a href="#D.Device:2.Device.SoftwareModules.ExecutionUnit.References"><em>SoftwareModules.ExecutionUnit.{i}.References</em></a> parameter.
Section 5.1.2 of the M2M Functional Architecture [<a href="#R.ETSIM2MFA">ETSIM2MFA</a>] describes the high level event flows for SCL registration.
Section 9.3.2.6.2 of the M2M Functional Architecture [<a href="#R.ETSIM2MFA">ETSIM2MFA</a>] describes the creation/registration of SCLs.
Section 9.3.2.6.4 of the M2M Functional Architecture [<a href="#R.ETSIM2MFA">ETSIM2MFA</a>] describes the update/re-registration of SCLs.
Section 9.3.2.6.5 of the M2M Functional Architecture [<a href="#R.ETSIM2MFA">ETSIM2MFA</a>] describes the deletion/deregistration of SCLs.
At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for <a href="#D.Device:2.Device.ETSIM2M.SCL.Alias"><em>Alias</em></a>. On creation of a new table entry, the Agent MUST choose an initial value for <a href="#D.Device:2.Device.ETSIM2M.SCL.Alias"><em>Alias</em></a> such that the new entry does not conflict with any existing entries.</td>
<td>-</td>
<td>2.6</td></tr>
<tr class="object">
<td><span id="D.Device:2.Device.ETSIM2M.SCL.Reregistration.">Device.ETSIM2M.SCL.{i}.Reregistration.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object represents the properties and status necessary for a SCL to reregister with one or more NSCLs.</td>
<td>-</td>
<td>2.6</td></tr>
<tr class="parameter">
<td><span id="D.Device:2.Device.ETSIM2M.SCL.Reregistration.RegTargetNSCLList">RegTargetNSCLList</span></td>
<td>string[]</td>
<td>W</td>
<td>Comma-separated list of strings. The list represents a priority ordered set of URIs [<a href="#R.RFC3986">RFC3986</a>]. The item that is first in the list has the highest priority.
A list item is a URI [<a href="#R.RFC3986">RFC3986</a>] string that represents a NSCL that this <a href="#D.Device:2.Device.ETSIM2M.SCL."><em>SCL</em></a> instance can use in order to attempt registration.
When modified the contents of this parameter replace the <em>RegTargetNSCLList</em> received during the bootstrap procedure.

<div class="diffs"><p><strong>Changes in 2.12:</strong></p>

<ul>
<li>Removed <em>[]</em> list *</li>
<li>cdata</li></ul></div></td>
<td>-</td>
<td>2.6</td></tr></tbody></table>

<hr/>

<p>Generated by <a href="https://www.broadband-forum.org">Broadband Forum</a> <a href="https://pypi.org/project/bbfreport">bbfreport</a> v2.2.0 (2024-07-23 version) on 2024-07-23 at 11:10:53 UTC.<br/>report.py –include ../../install/cwmp –output <stdout> –transform diff –format markdown tr-181-2-11-0.xml tr-181-2-12-0-cwmp.xml</p></div>

<div id="TOC"><h1 id="table-of-contents">Table of Contents</h1>

<ul class="collapsed expanded">
<li><a href="#data-types">Data Types</a></li>
<li><a href="#references">References</a></li>
<li><a href="#legend">Legend</a></li>
<li><span class="collapsible expandable"><a href="#device212-data-model">Device:2.12 Data Model</a></span>

<ul class="collapsed expanded">
<li><span class="collapsible expandable"><a href="#D.Device:2.Device.">Device.</a></span>

<ul class="collapsed expanded ordered">
<li><a href="#D.Device:2.Device.DeviceInfo.">DeviceInfo.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.ManagementServer.">ManagementServer.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.ManagementServer.EmbeddedDevice.">EmbeddedDevice.{i}.</a></li>
<li><a href="#D.Device:2.Device.ManagementServer.VirtualDevice.">VirtualDevice.{i}.</a></li>
<li><a href="#D.Device:2.Device.ManagementServer.HeartbeatPolicy.">HeartbeatPolicy.</a></li>
<li><a href="#D.Device:2.Device.DeviceInfo.VendorConfigFile.">VendorConfigFile.{i}.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.DeviceInfo.TemperatureStatus.">TemperatureStatus.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.DeviceInfo.TemperatureStatus.TemperatureSensor.">TemperatureSensor.{i}.</a></li></ul></li>
<li><a href="#D.Device:2.Device.DeviceInfo.VendorLogFile.">VendorLogFile.{i}.</a></li>
<li><a href="#D.Device:2.Device.DeviceInfo.FirmwareImage.">FirmwareImage.{i}.</a></li>
<li><a href="#D.Device:2.Device.DeviceInfo.ProxierInfo.">ProxierInfo.</a></li></ul></li>
<li><a href="#D.Device:2.Device.UserInterface.">UserInterface.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.DSL.">DSL.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.DSL.Line.">Line.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.DSL.Line.TestParams.">TestParams.</a></li></ul></li>
<li><a href="#D.Device:2.Device.DSL.Channel.">Channel.{i}.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.DSL.BondingGroup.">BondingGroup.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.DSL.BondingGroup.BondedChannel.">BondedChannel.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.DSL.Diagnostics.">Diagnostics.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.DSL.Diagnostics.ADSLLineTest.">ADSLLineTest.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.ATM.">ATM.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.ATM.Link.">Link.{i}.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.ATM.Diagnostics.">Diagnostics.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.ATM.Diagnostics.F5Loopback.">F5Loopback.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.PTM.">PTM.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.PTM.Link.">Link.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.Ethernet.">Ethernet.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.Ethernet.Interface.">Interface.{i}.</a></li>
<li><a href="#D.Device:2.Device.Ethernet.Link.">Link.{i}.</a></li>
<li><a href="#D.Device:2.Device.Ethernet.VLANTermination.">VLANTermination.{i}.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.Ethernet.LAG.">LAG.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.Ethernet.LAG.Stats.">Stats.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.USB.">USB.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.USB.Interface.">Interface.{i}.</a></li>
<li><a href="#D.Device:2.Device.USB.Port.">Port.{i}.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.USB.USBHosts.">USBHosts.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.USB.USBHosts.Host.">Host.{i}.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.HPNA.">HPNA.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.HPNA.Interface.">Interface.{i}.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.HPNA.Interface.QoS.">QoS.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.HPNA.Interface.QoS.FlowSpec.">FlowSpec.{i}.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.HPNA.Diagnostics.">Diagnostics.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.HPNA.Diagnostics.PHYThroughput.">PHYThroughput.</a></li>
<li><a href="#D.Device:2.Device.HPNA.Diagnostics.PerformanceMonitoring.">PerformanceMonitoring.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.MoCA.">MoCA.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.MoCA.Interface.">Interface.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.Ghn.">Ghn.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.Ghn.Interface.">Interface.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.Ghn.Interface.Stats.">Stats.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.Ghn.Diagnostics.">Diagnostics.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.Ghn.Diagnostics.PHYThroughput.">PHYThroughput.</a></li>
<li><a href="#D.Device:2.Device.Ghn.Diagnostics.PerformanceMonitoring.">PerformanceMonitoring.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.HomePlug.">HomePlug.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.HomePlug.Interface.">Interface.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.HomePlug.Interface.AssociatedDevice.">AssociatedDevice.{i}.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.UPA.">UPA.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.UPA.Interface.">Interface.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.UPA.Interface.ActiveNotch.">ActiveNotch.{i}.</a></li>
<li><a href="#D.Device:2.Device.UPA.Interface.BridgeFor.">BridgeFor.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.UPA.Diagnostics.">Diagnostics.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.UPA.Diagnostics.InterfaceMeasurement.">InterfaceMeasurement.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.WiFi.">WiFi.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.WiFi.Radio.">Radio.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.WiFi.Radio.Stats.">Stats.</a></li></ul></li>
<li><a href="#D.Device:2.Device.WiFi.SSID.">SSID.{i}.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.WiFi.AccessPoint.">AccessPoint.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.WiFi.AccessPoint.Security.">Security.</a></li>
<li><a href="#D.Device:2.Device.WiFi.AccessPoint.AssociatedDevice.">AssociatedDevice.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.WiFi.EndPoint.">EndPoint.{i}.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.WiFi.EndPoint.Profile.">Profile.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.WiFi.EndPoint.Profile.Security.">Security.</a></li></ul></li></ul></li>
<li><a href="#D.Device:2.Device.WiFi.NeighboringWiFiDiagnostic.">NeighboringWiFiDiagnostic.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.Bridging.">Bridging.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.Bridging.Bridge.">Bridge.{i}.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.Bridging.Bridge.Port.">Port.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.Bridging.Bridge.Port.PriorityCodePoint.">PriorityCodePoint.</a></li></ul></li>
<li><a href="#D.Device:2.Device.Bridging.Bridge.VLAN.">VLAN.{i}.</a></li>
<li><a href="#D.Device:2.Device.Bridging.Bridge.VLANPort.">VLANPort.{i}.</a></li></ul></li>
<li><a href="#D.Device:2.Device.Bridging.Filter.">Filter.{i}.</a></li>
<li><a href="#D.Device:2.Device.Bridging.ProviderBridge.">ProviderBridge.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.PPP.">PPP.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.PPP.Interface.">Interface.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.PPP.Interface.PPPoE.">PPPoE.</a></li>
<li><a href="#D.Device:2.Device.PPP.Interface.IPCP.">IPCP.</a></li>
<li><a href="#D.Device:2.Device.PPP.Interface.PPPoA.">PPPoA.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.IP.">IP.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.IP.Interface.">Interface.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.IP.Interface.IPv4Address.">IPv4Address.{i}.</a></li>
<li><a href="#D.Device:2.Device.IP.Interface.TWAMPReflector.">TWAMPReflector.{i}.</a></li>
<li><a href="#D.Device:2.Device.IP.Interface.IPv6Address.">IPv6Address.{i}.</a></li>
<li><a href="#D.Device:2.Device.IP.Interface.IPv6Prefix.">IPv6Prefix.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.IP.Diagnostics.">Diagnostics.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.IP.Diagnostics.IPPing.">IPPing.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.IP.Diagnostics.TraceRoute.">TraceRoute.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.IP.Diagnostics.TraceRoute.RouteHops.">RouteHops.{i}.</a></li></ul></li>
<li><a href="#D.Device:2.Device.IP.Diagnostics.ServerSelectionDiagnostics.">ServerSelectionDiagnostics.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.LLDP.">LLDP.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.LLDP.Discovery.">Discovery.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.LLDP.Discovery.Device.">Device.{i}.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.LLDP.Discovery.Device.Port.">Port.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.LLDP.Discovery.Device.Port.LinkInformation.">LinkInformation.</a></li></ul></li></ul></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.IPsec.">IPsec.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.IPsec.Profile.">Profile.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.GRE.">GRE.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.GRE.Tunnel.">Tunnel.{i}.</a></li>
<li><a href="#D.Device:2.Device.GRE.Filter.">Filter.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.L2TPv3.">L2TPv3.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.L2TPv3.Tunnel.">Tunnel.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.L2TPv3.Tunnel.UDP.">UDP.</a></li>
<li><a href="#D.Device:2.Device.L2TPv3.Tunnel.Stats.">Stats.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface.">Interface.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.L2TPv3.Tunnel.Interface.Stats.">Stats.</a></li></ul></li></ul></li>
<li><a href="#D.Device:2.Device.L2TPv3.Filter.">Filter.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.VXLAN.">VXLAN.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.VXLAN.Tunnel.">Tunnel.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.VXLAN.Tunnel.Stats.">Stats.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.VXLAN.Tunnel.Interface.">Interface.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.VXLAN.Tunnel.Interface.Stats.">Stats.</a></li></ul></li></ul></li>
<li><a href="#D.Device:2.Device.VXLAN.Filter.">Filter.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.MAP.">MAP.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.MAP.Domain.">Domain.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.MAP.Domain.Rule.">Rule.{i}.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.Routing.">Routing.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.Routing.Router.">Router.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.Routing.Router.IPv4Forwarding.">IPv4Forwarding.{i}.</a></li>
<li><a href="#D.Device:2.Device.Routing.Router.IPv6Forwarding.">IPv6Forwarding.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.Routing.RIP.">RIP.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.Routing.RIP.InterfaceSetting.">InterfaceSetting.{i}.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.NeighborDiscovery.">NeighborDiscovery.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.NeighborDiscovery.InterfaceSetting.">InterfaceSetting.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.RouterAdvertisement.">RouterAdvertisement.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.RouterAdvertisement.InterfaceSetting.">InterfaceSetting.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.RouterAdvertisement.InterfaceSetting.Option.">Option.{i}.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.IPv6rd.">IPv6rd.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.IPv6rd.InterfaceSetting.">InterfaceSetting.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.DSLite.">DSLite.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.DSLite.InterfaceSetting.">InterfaceSetting.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.QoS.">QoS.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.QoS.Classification.">Classification.{i}.</a></li>
<li><a href="#D.Device:2.Device.QoS.App.">App.{i}.</a></li>
<li><a href="#D.Device:2.Device.QoS.Flow.">Flow.{i}.</a></li>
<li><a href="#D.Device:2.Device.QoS.Policer.">Policer.{i}.</a></li>
<li><a href="#D.Device:2.Device.QoS.Queue.">Queue.{i}.</a></li>
<li><a href="#D.Device:2.Device.QoS.QueueStats.">QueueStats.{i}.</a></li>
<li><a href="#D.Device:2.Device.QoS.Shaper.">Shaper.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.Hosts.">Hosts.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.Hosts.Host.">Host.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.Hosts.Host.WANStats.">WANStats.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.DNS.">DNS.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.DNS.Client.">Client.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.DNS.Client.Server.">Server.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.DNS.Relay.">Relay.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.DNS.Relay.Forwarding.">Forwarding.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.DNS.Diagnostics.">Diagnostics.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.DNS.Diagnostics.NSLookupDiagnostics.">NSLookupDiagnostics.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.DNS.Diagnostics.NSLookupDiagnostics.Result.">Result.{i}.</a></li></ul></li></ul></li>
<li><a href="#D.Device:2.Device.DNS.SD.">SD.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.NAT.">NAT.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.NAT.InterfaceSetting.">InterfaceSetting.{i}.</a></li>
<li><a href="#D.Device:2.Device.NAT.PortMapping.">PortMapping.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.DHCPv4.">DHCPv4.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.DHCPv4.Client.">Client.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.DHCPv4.Client.SentOption.">SentOption.{i}.</a></li>
<li><a href="#D.Device:2.Device.DHCPv4.Client.ReqOption.">ReqOption.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.DHCPv4.Server.">Server.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.DHCPv4.Server.Pool.">Pool.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.DHCPv4.Server.Pool.StaticAddress.">StaticAddress.{i}.</a></li>
<li><a href="#D.Device:2.Device.DHCPv4.Server.Pool.Option.">Option.{i}.</a></li>
<li><a href="#D.Device:2.Device.DHCPv4.Server.Pool.Client.">Client.{i}.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.DHCPv4.Relay.">Relay.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.DHCPv4.Relay.Forwarding.">Forwarding.{i}.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.DHCPv6.">DHCPv6.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.DHCPv6.Client.">Client.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.DHCPv6.Client.SentOption.">SentOption.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.DHCPv6.Server.">Server.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.DHCPv6.Server.Pool.">Pool.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.DHCPv6.Server.Pool.Client.">Client.{i}.</a></li>
<li><a href="#D.Device:2.Device.DHCPv6.Server.Pool.Option.">Option.{i}.</a></li></ul></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.IEEE8021x.">IEEE8021x.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.IEEE8021x.Supplicant.">Supplicant.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.SmartCardReaders.">SmartCardReaders.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.SmartCardReaders.SmartCardReader.">SmartCardReader.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.Firewall.">Firewall.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.Firewall.Level.">Level.{i}.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.Firewall.Chain.">Chain.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.Firewall.Chain.Rule.">Rule.{i}.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.PeriodicStatistics.">PeriodicStatistics.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.PeriodicStatistics.SampleSet.">SampleSet.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.BulkData.">BulkData.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.BulkData.Profile.">Profile.{i}.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.BulkData.Profile.HTTP.">HTTP.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.BulkData.Profile.HTTP.RequestURIParameter.">RequestURIParameter.{i}.</a></li></ul></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.XMPP.">XMPP.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.XMPP.Connection.">Connection.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.IEEE1905.">IEEE1905.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.IEEE1905.AL.">AL.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.IEEE1905.AL.ForwardingTable.">ForwardingTable.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.IEEE1905.AL.ForwardingTable.ForwardingRule.">ForwardingRule.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.IEEE1905.AL.NetworkTopology.">NetworkTopology.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.">IEEE1905Device.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.BridgingTuple.">BridgingTuple.{i}.</a></li></ul></li></ul></li>
<li><a href="#D.Device:2.Device.IEEE1905.AL.Security.">Security.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.MQTT.">MQTT.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.MQTT.Client.">Client.{i}.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.MQTT.Broker.">Broker.{i}.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.MQTT.Broker.Bridge.">Bridge.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.MQTT.Broker.Bridge.Subscription.">Subscription.{i}.</a></li></ul></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.BASAPM.">BASAPM.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.BASAPM.MeasurementEndpoint.">MeasurementEndpoint.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.BASAPM.MeasurementEndpoint.ISPDevice.">ISPDevice.</a></li>
<li><a href="#D.Device:2.Device.BASAPM.MeasurementEndpoint.CustomerDevice.">CustomerDevice.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.LMAP.">LMAP.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.LMAP.MeasurementAgent.">MeasurementAgent.{i}.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.LMAP.MeasurementAgent.TaskCapability.">TaskCapability.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.LMAP.MeasurementAgent.TaskCapability.Registry.">Registry.{i}.</a></li></ul></li>
<li><a href="#D.Device:2.Device.LMAP.MeasurementAgent.Controller.">Controller.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.">Schedule.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Stats.">Stats.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.">Action.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Stats.">Stats.</a></li>
<li><a href="#D.Device:2.Device.LMAP.MeasurementAgent.Schedule.Action.Option.">Option.{i}.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.LMAP.MeasurementAgent.Task.">Task.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.LMAP.MeasurementAgent.Task.Registry.">Registry.{i}.</a></li>
<li><a href="#D.Device:2.Device.LMAP.MeasurementAgent.Task.Option.">Option.{i}.</a></li></ul></li>
<li><a href="#D.Device:2.Device.LMAP.MeasurementAgent.CommunicationChannel.">CommunicationChannel.{i}.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.LMAP.MeasurementAgent.Instruction.">Instruction.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.LMAP.MeasurementAgent.Instruction.MeasurementSuppression.">MeasurementSuppression.{i}.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.LMAP.Report.">Report.{i}.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.LMAP.Report.Result.">Result.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.LMAP.Report.Result.Option.">Option.{i}.</a></li>
<li><a href="#D.Device:2.Device.LMAP.Report.Result.Conflict.">Conflict.{i}.</a></li>
<li><span class="expandable"><a href="#D.Device:2.Device.LMAP.Report.Result.ReportTable.">ReportTable.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.LMAP.Report.Result.ReportTable.ResultRow.">ResultRow.{i}.</a></li>
<li><a href="#D.Device:2.Device.LMAP.Report.Result.ReportTable.Registry.">Registry.{i}.</a></li></ul></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.LMAP.Event.">Event.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.LMAP.Event.PeriodicTimer.">PeriodicTimer.</a></li>
<li><a href="#D.Device:2.Device.LMAP.Event.CalendarTimer.">CalendarTimer.</a></li>
<li><a href="#D.Device:2.Device.LMAP.Event.OneOff.">OneOff.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.SoftwareModules.">SoftwareModules.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.SoftwareModules.ExecEnv.">ExecEnv.{i}.</a></li>
<li><a href="#D.Device:2.Device.SoftwareModules.DeploymentUnit.">DeploymentUnit.{i}.</a></li>
<li><a href="#D.Device:2.Device.SoftwareModules.ExecutionUnit.">ExecutionUnit.{i}.</a></li></ul></li>
<li><span class="expandable"><a href="#D.Device:2.Device.ETSIM2M.">ETSIM2M.</a></span>

<ul class="collapsed">
<li><span class="expandable"><a href="#D.Device:2.Device.ETSIM2M.SCL.">SCL.{i}.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:2.Device.ETSIM2M.SCL.Reregistration.">Reregistration.</a></li></ul></li></ul></li></ul></li></ul></li></ul></div>
</body>
</html>
